obliquetree 1.0.3__cp310-cp310-macosx_11_0_arm64.whl → 1.0.4__cp310-cp310-macosx_11_0_arm64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of obliquetree might be problematic. Click here for more details.

obliquetree/src/tree.cpp CHANGED
@@ -1,4 +1,4 @@
1
- /* Generated by Cython 3.1.2 */
1
+ /* Generated by Cython 3.1.6 */
2
2
 
3
3
  /* BEGIN: Cython Metadata
4
4
  {
@@ -10,11 +10,11 @@
10
10
  ]
11
11
  ],
12
12
  "depends": [
13
- "/private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/_core/include/numpy/arrayobject.h",
14
- "/private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/_core/include/numpy/arrayscalars.h",
15
- "/private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/_core/include/numpy/ndarrayobject.h",
16
- "/private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/_core/include/numpy/ndarraytypes.h",
17
- "/private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/_core/include/numpy/ufuncobject.h"
13
+ "/private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/_core/include/numpy/arrayobject.h",
14
+ "/private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/_core/include/numpy/arrayscalars.h",
15
+ "/private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/_core/include/numpy/ndarrayobject.h",
16
+ "/private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/_core/include/numpy/ndarraytypes.h",
17
+ "/private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/_core/include/numpy/ufuncobject.h"
18
18
  ],
19
19
  "extra_compile_args": [
20
20
  "-O3",
@@ -25,7 +25,7 @@
25
25
  "-std=c++17"
26
26
  ],
27
27
  "include_dirs": [
28
- "/private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/_core/include"
28
+ "/private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/_core/include"
29
29
  ],
30
30
  "language": "c++",
31
31
  "name": "obliquetree.src.tree",
@@ -41,8 +41,16 @@ END: Cython Metadata */
41
41
  #define PY_SSIZE_T_CLEAN
42
42
  #endif /* PY_SSIZE_T_CLEAN */
43
43
  /* InitLimitedAPI */
44
- #if defined(Py_LIMITED_API) && !defined(CYTHON_LIMITED_API)
44
+ #if defined(Py_LIMITED_API)
45
+ #if !defined(CYTHON_LIMITED_API)
45
46
  #define CYTHON_LIMITED_API 1
47
+ #endif
48
+ #elif defined(CYTHON_LIMITED_API)
49
+ #ifdef _MSC_VER
50
+ #pragma message ("Limited API usage is enabled with 'CYTHON_LIMITED_API' but 'Py_LIMITED_API' does not define a Python target version. Consider setting 'Py_LIMITED_API' instead.")
51
+ #else
52
+ #warning Limited API usage is enabled with 'CYTHON_LIMITED_API' but 'Py_LIMITED_API' does not define a Python target version. Consider setting 'Py_LIMITED_API' instead.
53
+ #endif
46
54
  #endif
47
55
 
48
56
  #include "Python.h"
@@ -51,8 +59,8 @@ END: Cython Metadata */
51
59
  #elif PY_VERSION_HEX < 0x03080000
52
60
  #error Cython requires Python 3.8+.
53
61
  #else
54
- #define __PYX_ABI_VERSION "3_1_2"
55
- #define CYTHON_HEX_VERSION 0x030102F0
62
+ #define __PYX_ABI_VERSION "3_1_6"
63
+ #define CYTHON_HEX_VERSION 0x030106F0
56
64
  #define CYTHON_FUTURE_DIVISION 1
57
65
  /* CModulePreamble */
58
66
  #include <stddef.h>
@@ -415,6 +423,9 @@ END: Cython Metadata */
415
423
  enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) };
416
424
  #endif
417
425
  #endif
426
+ #ifndef CYTHON_LOCK_AND_GIL_DEADLOCK_AVOIDANCE_TIME
427
+ #define CYTHON_LOCK_AND_GIL_DEADLOCK_AVOIDANCE_TIME 100
428
+ #endif
418
429
  #ifndef __has_attribute
419
430
  #define __has_attribute(x) 0
420
431
  #endif
@@ -1332,6 +1343,7 @@ static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*);
1332
1343
  typedef sdigit __Pyx_compact_pylong;
1333
1344
  typedef digit __Pyx_compact_upylong;
1334
1345
  #endif
1346
+ static CYTHON_INLINE int __Pyx_PyLong_CompactAsLong(PyObject *x, long *return_value);
1335
1347
  #if PY_VERSION_HEX >= 0x030C00A5
1336
1348
  #define __Pyx_PyLong_Digits(x) (((PyLongObject*)x)->long_value.ob_digit)
1337
1349
  #else
@@ -1408,7 +1420,7 @@ static const char *__pyx_filename;
1408
1420
  static const char* const __pyx_f[] = {
1409
1421
  "obliquetree/src/tree.pyx",
1410
1422
  "<stringsource>",
1411
- "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd",
1423
+ "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd",
1412
1424
  "obliquetree/src/base.pxd",
1413
1425
  "cpython/type.pxd",
1414
1426
  };
@@ -1713,7 +1725,7 @@ typedef int __pyx_t_11obliquetree_3src_5utils_int32_t;
1713
1725
  */
1714
1726
  typedef PY_LONG_LONG __pyx_t_11obliquetree_3src_5utils_int64_t;
1715
1727
 
1716
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":787
1728
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":787
1717
1729
  * # in Cython to enable them only on the right systems.
1718
1730
  *
1719
1731
  * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<<
@@ -1722,7 +1734,7 @@ typedef PY_LONG_LONG __pyx_t_11obliquetree_3src_5utils_int64_t;
1722
1734
  */
1723
1735
  typedef npy_int8 __pyx_t_5numpy_int8_t;
1724
1736
 
1725
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":788
1737
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":788
1726
1738
  *
1727
1739
  * ctypedef npy_int8 int8_t
1728
1740
  * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<<
@@ -1731,7 +1743,7 @@ typedef npy_int8 __pyx_t_5numpy_int8_t;
1731
1743
  */
1732
1744
  typedef npy_int16 __pyx_t_5numpy_int16_t;
1733
1745
 
1734
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":789
1746
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":789
1735
1747
  * ctypedef npy_int8 int8_t
1736
1748
  * ctypedef npy_int16 int16_t
1737
1749
  * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<<
@@ -1740,7 +1752,7 @@ typedef npy_int16 __pyx_t_5numpy_int16_t;
1740
1752
  */
1741
1753
  typedef npy_int32 __pyx_t_5numpy_int32_t;
1742
1754
 
1743
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":790
1755
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":790
1744
1756
  * ctypedef npy_int16 int16_t
1745
1757
  * ctypedef npy_int32 int32_t
1746
1758
  * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<<
@@ -1749,7 +1761,7 @@ typedef npy_int32 __pyx_t_5numpy_int32_t;
1749
1761
  */
1750
1762
  typedef npy_int64 __pyx_t_5numpy_int64_t;
1751
1763
 
1752
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":794
1764
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":794
1753
1765
  * #ctypedef npy_int128 int128_t
1754
1766
  *
1755
1767
  * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<<
@@ -1758,7 +1770,7 @@ typedef npy_int64 __pyx_t_5numpy_int64_t;
1758
1770
  */
1759
1771
  typedef npy_uint8 __pyx_t_5numpy_uint8_t;
1760
1772
 
1761
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":795
1773
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":795
1762
1774
  *
1763
1775
  * ctypedef npy_uint8 uint8_t
1764
1776
  * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<<
@@ -1767,7 +1779,7 @@ typedef npy_uint8 __pyx_t_5numpy_uint8_t;
1767
1779
  */
1768
1780
  typedef npy_uint16 __pyx_t_5numpy_uint16_t;
1769
1781
 
1770
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":796
1782
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":796
1771
1783
  * ctypedef npy_uint8 uint8_t
1772
1784
  * ctypedef npy_uint16 uint16_t
1773
1785
  * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<<
@@ -1776,7 +1788,7 @@ typedef npy_uint16 __pyx_t_5numpy_uint16_t;
1776
1788
  */
1777
1789
  typedef npy_uint32 __pyx_t_5numpy_uint32_t;
1778
1790
 
1779
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":797
1791
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":797
1780
1792
  * ctypedef npy_uint16 uint16_t
1781
1793
  * ctypedef npy_uint32 uint32_t
1782
1794
  * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<<
@@ -1785,7 +1797,7 @@ typedef npy_uint32 __pyx_t_5numpy_uint32_t;
1785
1797
  */
1786
1798
  typedef npy_uint64 __pyx_t_5numpy_uint64_t;
1787
1799
 
1788
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":801
1800
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":801
1789
1801
  * #ctypedef npy_uint128 uint128_t
1790
1802
  *
1791
1803
  * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<<
@@ -1794,7 +1806,7 @@ typedef npy_uint64 __pyx_t_5numpy_uint64_t;
1794
1806
  */
1795
1807
  typedef npy_float32 __pyx_t_5numpy_float32_t;
1796
1808
 
1797
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":802
1809
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":802
1798
1810
  *
1799
1811
  * ctypedef npy_float32 float32_t
1800
1812
  * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<<
@@ -1803,7 +1815,7 @@ typedef npy_float32 __pyx_t_5numpy_float32_t;
1803
1815
  */
1804
1816
  typedef npy_float64 __pyx_t_5numpy_float64_t;
1805
1817
 
1806
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":809
1818
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":809
1807
1819
  * ctypedef double complex complex128_t
1808
1820
  *
1809
1821
  * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<<
@@ -1812,7 +1824,7 @@ typedef npy_float64 __pyx_t_5numpy_float64_t;
1812
1824
  */
1813
1825
  typedef npy_longlong __pyx_t_5numpy_longlong_t;
1814
1826
 
1815
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":810
1827
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":810
1816
1828
  *
1817
1829
  * ctypedef npy_longlong longlong_t
1818
1830
  * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<<
@@ -1821,7 +1833,7 @@ typedef npy_longlong __pyx_t_5numpy_longlong_t;
1821
1833
  */
1822
1834
  typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t;
1823
1835
 
1824
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":812
1836
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":812
1825
1837
  * ctypedef npy_ulonglong ulonglong_t
1826
1838
  *
1827
1839
  * ctypedef npy_intp intp_t # <<<<<<<<<<<<<<
@@ -1830,7 +1842,7 @@ typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t;
1830
1842
  */
1831
1843
  typedef npy_intp __pyx_t_5numpy_intp_t;
1832
1844
 
1833
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":813
1845
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":813
1834
1846
  *
1835
1847
  * ctypedef npy_intp intp_t
1836
1848
  * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<<
@@ -1839,7 +1851,7 @@ typedef npy_intp __pyx_t_5numpy_intp_t;
1839
1851
  */
1840
1852
  typedef npy_uintp __pyx_t_5numpy_uintp_t;
1841
1853
 
1842
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":815
1854
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":815
1843
1855
  * ctypedef npy_uintp uintp_t
1844
1856
  *
1845
1857
  * ctypedef npy_double float_t # <<<<<<<<<<<<<<
@@ -1848,7 +1860,7 @@ typedef npy_uintp __pyx_t_5numpy_uintp_t;
1848
1860
  */
1849
1861
  typedef npy_double __pyx_t_5numpy_float_t;
1850
1862
 
1851
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":816
1863
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":816
1852
1864
  *
1853
1865
  * ctypedef npy_double float_t
1854
1866
  * ctypedef npy_double double_t # <<<<<<<<<<<<<<
@@ -1857,7 +1869,7 @@ typedef npy_double __pyx_t_5numpy_float_t;
1857
1869
  */
1858
1870
  typedef npy_double __pyx_t_5numpy_double_t;
1859
1871
 
1860
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":817
1872
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":817
1861
1873
  * ctypedef npy_double float_t
1862
1874
  * ctypedef npy_double double_t
1863
1875
  * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<<
@@ -2866,22 +2878,22 @@ static int __Pyx__DelItemOnTypeDict(PyTypeObject *tp, PyObject *k);
2866
2878
  static int __Pyx_setup_reduce(PyObject* type_obj);
2867
2879
 
2868
2880
  /* TypeImport.proto */
2869
- #ifndef __PYX_HAVE_RT_ImportType_proto_3_1_2
2870
- #define __PYX_HAVE_RT_ImportType_proto_3_1_2
2881
+ #ifndef __PYX_HAVE_RT_ImportType_proto_3_1_6
2882
+ #define __PYX_HAVE_RT_ImportType_proto_3_1_6
2871
2883
  #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
2872
2884
  #include <stdalign.h>
2873
2885
  #endif
2874
2886
  #if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || __cplusplus >= 201103L
2875
- #define __PYX_GET_STRUCT_ALIGNMENT_3_1_2(s) alignof(s)
2887
+ #define __PYX_GET_STRUCT_ALIGNMENT_3_1_6(s) alignof(s)
2876
2888
  #else
2877
- #define __PYX_GET_STRUCT_ALIGNMENT_3_1_2(s) sizeof(void*)
2889
+ #define __PYX_GET_STRUCT_ALIGNMENT_3_1_6(s) sizeof(void*)
2878
2890
  #endif
2879
- enum __Pyx_ImportType_CheckSize_3_1_2 {
2880
- __Pyx_ImportType_CheckSize_Error_3_1_2 = 0,
2881
- __Pyx_ImportType_CheckSize_Warn_3_1_2 = 1,
2882
- __Pyx_ImportType_CheckSize_Ignore_3_1_2 = 2
2891
+ enum __Pyx_ImportType_CheckSize_3_1_6 {
2892
+ __Pyx_ImportType_CheckSize_Error_3_1_6 = 0,
2893
+ __Pyx_ImportType_CheckSize_Warn_3_1_6 = 1,
2894
+ __Pyx_ImportType_CheckSize_Ignore_3_1_6 = 2
2883
2895
  };
2884
- static PyTypeObject *__Pyx_ImportType_3_1_2(PyObject* module, const char *module_name, const char *class_name, size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_1_2 check_size);
2896
+ static PyTypeObject *__Pyx_ImportType_3_1_6(PyObject* module, const char *module_name, const char *class_name, size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_1_6 check_size);
2885
2897
  #endif
2886
2898
 
2887
2899
  /* CLineInTraceback.proto */
@@ -3171,7 +3183,7 @@ static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt
3171
3183
  static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig);
3172
3184
 
3173
3185
  /* FunctionImport.proto */
3174
- static int __Pyx_ImportFunction_3_1_2(PyObject *module, const char *funcname, void (**f)(void), const char *sig);
3186
+ static int __Pyx_ImportFunction_3_1_6(PyObject *module, const char *funcname, void (**f)(void), const char *sig);
3175
3187
 
3176
3188
  /* MultiPhaseInitModuleState.proto */
3177
3189
  #if CYTHON_PEP489_MULTI_PHASE_INIT && CYTHON_USE_MODULE_STATE
@@ -3914,7 +3926,7 @@ static int __pyx_array___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, P
3914
3926
  default: goto __pyx_L5_argtuple_error;
3915
3927
  }
3916
3928
  const Py_ssize_t kwd_pos_args = __pyx_nargs;
3917
- if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < 0) __PYX_ERR(1, 129, __pyx_L3_error)
3929
+ if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(1, 129, __pyx_L3_error)
3918
3930
  if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_c));
3919
3931
  for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
3920
3932
  if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 3, 5, i); __PYX_ERR(1, 129, __pyx_L3_error) }
@@ -5528,7 +5540,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
5528
5540
  default: goto __pyx_L5_argtuple_error;
5529
5541
  }
5530
5542
  const Py_ssize_t kwd_pos_args = __pyx_nargs;
5531
- if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < 0) __PYX_ERR(1, 3, __pyx_L3_error)
5543
+ if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(1, 3, __pyx_L3_error)
5532
5544
  for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
5533
5545
  if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(1, 3, __pyx_L3_error) }
5534
5546
  }
@@ -5873,7 +5885,7 @@ static struct __pyx_array_obj *__pyx_array_new(PyObject *__pyx_v_shape, Py_ssize
5873
5885
  __pyx_t_4 = 0;
5874
5886
  __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 273, __pyx_L1_error)
5875
5887
  __Pyx_GOTREF(__pyx_t_4);
5876
- if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_allocate_buffer, Py_False) < 0) __PYX_ERR(1, 273, __pyx_L1_error)
5888
+ if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_allocate_buffer, Py_False) < (0)) __PYX_ERR(1, 273, __pyx_L1_error)
5877
5889
  __pyx_t_3 = ((PyObject *)__pyx_tp_new_array(((PyTypeObject *)__pyx_mstate_global->__pyx_array_type), __pyx_t_1, __pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 273, __pyx_L1_error)
5878
5890
  __Pyx_GOTREF((PyObject *)__pyx_t_3);
5879
5891
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -5968,7 +5980,7 @@ static int __pyx_MemviewEnum___init__(PyObject *__pyx_v_self, PyObject *__pyx_ar
5968
5980
  default: goto __pyx_L5_argtuple_error;
5969
5981
  }
5970
5982
  const Py_ssize_t kwd_pos_args = __pyx_nargs;
5971
- if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < 0) __PYX_ERR(1, 302, __pyx_L3_error)
5983
+ if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(1, 302, __pyx_L3_error)
5972
5984
  for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
5973
5985
  if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(1, 302, __pyx_L3_error) }
5974
5986
  }
@@ -6405,7 +6417,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
6405
6417
  default: goto __pyx_L5_argtuple_error;
6406
6418
  }
6407
6419
  const Py_ssize_t kwd_pos_args = __pyx_nargs;
6408
- if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < 0) __PYX_ERR(1, 16, __pyx_L3_error)
6420
+ if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(1, 16, __pyx_L3_error)
6409
6421
  for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
6410
6422
  if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(1, 16, __pyx_L3_error) }
6411
6423
  }
@@ -6530,7 +6542,7 @@ static int __pyx_memoryview___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_ar
6530
6542
  default: goto __pyx_L5_argtuple_error;
6531
6543
  }
6532
6544
  const Py_ssize_t kwd_pos_args = __pyx_nargs;
6533
- if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < 0) __PYX_ERR(1, 347, __pyx_L3_error)
6545
+ if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(1, 347, __pyx_L3_error)
6534
6546
  for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
6535
6547
  if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 3, i); __PYX_ERR(1, 347, __pyx_L3_error) }
6536
6548
  }
@@ -10847,7 +10859,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
10847
10859
  default: goto __pyx_L5_argtuple_error;
10848
10860
  }
10849
10861
  const Py_ssize_t kwd_pos_args = __pyx_nargs;
10850
- if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < 0) __PYX_ERR(1, 3, __pyx_L3_error)
10862
+ if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(1, 3, __pyx_L3_error)
10851
10863
  for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
10852
10864
  if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(1, 3, __pyx_L3_error) }
10853
10865
  }
@@ -13734,7 +13746,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
13734
13746
  default: goto __pyx_L5_argtuple_error;
13735
13747
  }
13736
13748
  const Py_ssize_t kwd_pos_args = __pyx_nargs;
13737
- if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < 0) __PYX_ERR(1, 3, __pyx_L3_error)
13749
+ if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(1, 3, __pyx_L3_error)
13738
13750
  for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
13739
13751
  if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(1, 3, __pyx_L3_error) }
13740
13752
  }
@@ -16893,7 +16905,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
16893
16905
  default: goto __pyx_L5_argtuple_error;
16894
16906
  }
16895
16907
  const Py_ssize_t kwd_pos_args = __pyx_nargs;
16896
- if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_Enum", 0) < 0) __PYX_ERR(1, 1, __pyx_L3_error)
16908
+ if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_Enum", 0) < (0)) __PYX_ERR(1, 1, __pyx_L3_error)
16897
16909
  for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
16898
16910
  if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Enum", 1, 3, 3, i); __PYX_ERR(1, 1, __pyx_L3_error) }
16899
16911
  }
@@ -17215,7 +17227,7 @@ static PyObject *__pyx_unpickle_Enum__set_state(struct __pyx_MemviewEnum_obj *__
17215
17227
  return __pyx_r;
17216
17228
  }
17217
17229
 
17218
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":286
17230
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":286
17219
17231
  * cdef int type_num
17220
17232
  *
17221
17233
  * @property # <<<<<<<<<<<<<<
@@ -17226,7 +17238,7 @@ static PyObject *__pyx_unpickle_Enum__set_state(struct __pyx_MemviewEnum_obj *__
17226
17238
  static CYTHON_INLINE npy_intp __pyx_f_5numpy_5dtype_8itemsize_itemsize(PyArray_Descr *__pyx_v_self) {
17227
17239
  npy_intp __pyx_r;
17228
17240
 
17229
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":288
17241
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":288
17230
17242
  * @property
17231
17243
  * cdef inline npy_intp itemsize(self) noexcept nogil:
17232
17244
  * return PyDataType_ELSIZE(self) # <<<<<<<<<<<<<<
@@ -17236,7 +17248,7 @@ static CYTHON_INLINE npy_intp __pyx_f_5numpy_5dtype_8itemsize_itemsize(PyArray_D
17236
17248
  __pyx_r = PyDataType_ELSIZE(__pyx_v_self);
17237
17249
  goto __pyx_L0;
17238
17250
 
17239
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":286
17251
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":286
17240
17252
  * cdef int type_num
17241
17253
  *
17242
17254
  * @property # <<<<<<<<<<<<<<
@@ -17249,7 +17261,7 @@ static CYTHON_INLINE npy_intp __pyx_f_5numpy_5dtype_8itemsize_itemsize(PyArray_D
17249
17261
  return __pyx_r;
17250
17262
  }
17251
17263
 
17252
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":290
17264
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":290
17253
17265
  * return PyDataType_ELSIZE(self)
17254
17266
  *
17255
17267
  * @property # <<<<<<<<<<<<<<
@@ -17260,7 +17272,7 @@ static CYTHON_INLINE npy_intp __pyx_f_5numpy_5dtype_8itemsize_itemsize(PyArray_D
17260
17272
  static CYTHON_INLINE npy_intp __pyx_f_5numpy_5dtype_9alignment_alignment(PyArray_Descr *__pyx_v_self) {
17261
17273
  npy_intp __pyx_r;
17262
17274
 
17263
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":292
17275
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":292
17264
17276
  * @property
17265
17277
  * cdef inline npy_intp alignment(self) noexcept nogil:
17266
17278
  * return PyDataType_ALIGNMENT(self) # <<<<<<<<<<<<<<
@@ -17270,7 +17282,7 @@ static CYTHON_INLINE npy_intp __pyx_f_5numpy_5dtype_9alignment_alignment(PyArray
17270
17282
  __pyx_r = PyDataType_ALIGNMENT(__pyx_v_self);
17271
17283
  goto __pyx_L0;
17272
17284
 
17273
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":290
17285
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":290
17274
17286
  * return PyDataType_ELSIZE(self)
17275
17287
  *
17276
17288
  * @property # <<<<<<<<<<<<<<
@@ -17283,7 +17295,7 @@ static CYTHON_INLINE npy_intp __pyx_f_5numpy_5dtype_9alignment_alignment(PyArray
17283
17295
  return __pyx_r;
17284
17296
  }
17285
17297
 
17286
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":296
17298
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":296
17287
17299
  * # Use fields/names with care as they may be NULL. You must check
17288
17300
  * # for this using PyDataType_HASFIELDS.
17289
17301
  * @property # <<<<<<<<<<<<<<
@@ -17297,7 +17309,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_5dtype_6fields_fields(PyArray_Desc
17297
17309
  PyObject *__pyx_t_1;
17298
17310
  __Pyx_RefNannySetupContext("fields", 0);
17299
17311
 
17300
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":298
17312
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":298
17301
17313
  * @property
17302
17314
  * cdef inline object fields(self):
17303
17315
  * return <object>PyDataType_FIELDS(self) # <<<<<<<<<<<<<<
@@ -17310,7 +17322,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_5dtype_6fields_fields(PyArray_Desc
17310
17322
  __pyx_r = ((PyObject *)__pyx_t_1);
17311
17323
  goto __pyx_L0;
17312
17324
 
17313
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":296
17325
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":296
17314
17326
  * # Use fields/names with care as they may be NULL. You must check
17315
17327
  * # for this using PyDataType_HASFIELDS.
17316
17328
  * @property # <<<<<<<<<<<<<<
@@ -17325,7 +17337,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_5dtype_6fields_fields(PyArray_Desc
17325
17337
  return __pyx_r;
17326
17338
  }
17327
17339
 
17328
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":300
17340
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":300
17329
17341
  * return <object>PyDataType_FIELDS(self)
17330
17342
  *
17331
17343
  * @property # <<<<<<<<<<<<<<
@@ -17339,7 +17351,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_5dtype_5names_names(PyArray_Descr
17339
17351
  PyObject *__pyx_t_1;
17340
17352
  __Pyx_RefNannySetupContext("names", 0);
17341
17353
 
17342
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":302
17354
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":302
17343
17355
  * @property
17344
17356
  * cdef inline tuple names(self):
17345
17357
  * return <tuple>PyDataType_NAMES(self) # <<<<<<<<<<<<<<
@@ -17352,7 +17364,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_5dtype_5names_names(PyArray_Descr
17352
17364
  __pyx_r = ((PyObject*)__pyx_t_1);
17353
17365
  goto __pyx_L0;
17354
17366
 
17355
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":300
17367
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":300
17356
17368
  * return <object>PyDataType_FIELDS(self)
17357
17369
  *
17358
17370
  * @property # <<<<<<<<<<<<<<
@@ -17367,7 +17379,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_5dtype_5names_names(PyArray_Descr
17367
17379
  return __pyx_r;
17368
17380
  }
17369
17381
 
17370
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":307
17382
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":307
17371
17383
  * # valid (the pointer can be NULL). Most users should access
17372
17384
  * # this field via the inline helper method PyDataType_SHAPE.
17373
17385
  * @property # <<<<<<<<<<<<<<
@@ -17378,7 +17390,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_5dtype_5names_names(PyArray_Descr
17378
17390
  static CYTHON_INLINE PyArray_ArrayDescr *__pyx_f_5numpy_5dtype_8subarray_subarray(PyArray_Descr *__pyx_v_self) {
17379
17391
  PyArray_ArrayDescr *__pyx_r;
17380
17392
 
17381
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":309
17393
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":309
17382
17394
  * @property
17383
17395
  * cdef inline PyArray_ArrayDescr* subarray(self) noexcept nogil:
17384
17396
  * return PyDataType_SUBARRAY(self) # <<<<<<<<<<<<<<
@@ -17388,7 +17400,7 @@ static CYTHON_INLINE PyArray_ArrayDescr *__pyx_f_5numpy_5dtype_8subarray_subarra
17388
17400
  __pyx_r = PyDataType_SUBARRAY(__pyx_v_self);
17389
17401
  goto __pyx_L0;
17390
17402
 
17391
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":307
17403
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":307
17392
17404
  * # valid (the pointer can be NULL). Most users should access
17393
17405
  * # this field via the inline helper method PyDataType_SHAPE.
17394
17406
  * @property # <<<<<<<<<<<<<<
@@ -17401,7 +17413,7 @@ static CYTHON_INLINE PyArray_ArrayDescr *__pyx_f_5numpy_5dtype_8subarray_subarra
17401
17413
  return __pyx_r;
17402
17414
  }
17403
17415
 
17404
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":311
17416
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":311
17405
17417
  * return PyDataType_SUBARRAY(self)
17406
17418
  *
17407
17419
  * @property # <<<<<<<<<<<<<<
@@ -17412,7 +17424,7 @@ static CYTHON_INLINE PyArray_ArrayDescr *__pyx_f_5numpy_5dtype_8subarray_subarra
17412
17424
  static CYTHON_INLINE npy_uint64 __pyx_f_5numpy_5dtype_5flags_flags(PyArray_Descr *__pyx_v_self) {
17413
17425
  npy_uint64 __pyx_r;
17414
17426
 
17415
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":314
17427
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":314
17416
17428
  * cdef inline npy_uint64 flags(self) noexcept nogil:
17417
17429
  * """The data types flags."""
17418
17430
  * return PyDataType_FLAGS(self) # <<<<<<<<<<<<<<
@@ -17422,7 +17434,7 @@ static CYTHON_INLINE npy_uint64 __pyx_f_5numpy_5dtype_5flags_flags(PyArray_Descr
17422
17434
  __pyx_r = PyDataType_FLAGS(__pyx_v_self);
17423
17435
  goto __pyx_L0;
17424
17436
 
17425
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":311
17437
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":311
17426
17438
  * return PyDataType_SUBARRAY(self)
17427
17439
  *
17428
17440
  * @property # <<<<<<<<<<<<<<
@@ -17435,7 +17447,7 @@ static CYTHON_INLINE npy_uint64 __pyx_f_5numpy_5dtype_5flags_flags(PyArray_Descr
17435
17447
  return __pyx_r;
17436
17448
  }
17437
17449
 
17438
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":323
17450
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":323
17439
17451
  * ctypedef class numpy.broadcast [object PyArrayMultiIterObject, check_size ignore]:
17440
17452
  *
17441
17453
  * @property # <<<<<<<<<<<<<<
@@ -17446,7 +17458,7 @@ static CYTHON_INLINE npy_uint64 __pyx_f_5numpy_5dtype_5flags_flags(PyArray_Descr
17446
17458
  static CYTHON_INLINE int __pyx_f_5numpy_9broadcast_7numiter_numiter(PyArrayMultiIterObject *__pyx_v_self) {
17447
17459
  int __pyx_r;
17448
17460
 
17449
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":326
17461
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":326
17450
17462
  * cdef inline int numiter(self) noexcept nogil:
17451
17463
  * """The number of arrays that need to be broadcast to the same shape."""
17452
17464
  * return PyArray_MultiIter_NUMITER(self) # <<<<<<<<<<<<<<
@@ -17456,7 +17468,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_9broadcast_7numiter_numiter(PyArrayMulti
17456
17468
  __pyx_r = PyArray_MultiIter_NUMITER(__pyx_v_self);
17457
17469
  goto __pyx_L0;
17458
17470
 
17459
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":323
17471
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":323
17460
17472
  * ctypedef class numpy.broadcast [object PyArrayMultiIterObject, check_size ignore]:
17461
17473
  *
17462
17474
  * @property # <<<<<<<<<<<<<<
@@ -17469,7 +17481,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_9broadcast_7numiter_numiter(PyArrayMulti
17469
17481
  return __pyx_r;
17470
17482
  }
17471
17483
 
17472
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":328
17484
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":328
17473
17485
  * return PyArray_MultiIter_NUMITER(self)
17474
17486
  *
17475
17487
  * @property # <<<<<<<<<<<<<<
@@ -17480,7 +17492,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_9broadcast_7numiter_numiter(PyArrayMulti
17480
17492
  static CYTHON_INLINE npy_intp __pyx_f_5numpy_9broadcast_4size_size(PyArrayMultiIterObject *__pyx_v_self) {
17481
17493
  npy_intp __pyx_r;
17482
17494
 
17483
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":331
17495
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":331
17484
17496
  * cdef inline npy_intp size(self) noexcept nogil:
17485
17497
  * """The total broadcasted size."""
17486
17498
  * return PyArray_MultiIter_SIZE(self) # <<<<<<<<<<<<<<
@@ -17490,7 +17502,7 @@ static CYTHON_INLINE npy_intp __pyx_f_5numpy_9broadcast_4size_size(PyArrayMultiI
17490
17502
  __pyx_r = PyArray_MultiIter_SIZE(__pyx_v_self);
17491
17503
  goto __pyx_L0;
17492
17504
 
17493
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":328
17505
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":328
17494
17506
  * return PyArray_MultiIter_NUMITER(self)
17495
17507
  *
17496
17508
  * @property # <<<<<<<<<<<<<<
@@ -17503,7 +17515,7 @@ static CYTHON_INLINE npy_intp __pyx_f_5numpy_9broadcast_4size_size(PyArrayMultiI
17503
17515
  return __pyx_r;
17504
17516
  }
17505
17517
 
17506
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":333
17518
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":333
17507
17519
  * return PyArray_MultiIter_SIZE(self)
17508
17520
  *
17509
17521
  * @property # <<<<<<<<<<<<<<
@@ -17514,7 +17526,7 @@ static CYTHON_INLINE npy_intp __pyx_f_5numpy_9broadcast_4size_size(PyArrayMultiI
17514
17526
  static CYTHON_INLINE npy_intp __pyx_f_5numpy_9broadcast_5index_index(PyArrayMultiIterObject *__pyx_v_self) {
17515
17527
  npy_intp __pyx_r;
17516
17528
 
17517
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":336
17529
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":336
17518
17530
  * cdef inline npy_intp index(self) noexcept nogil:
17519
17531
  * """The current (1-d) index into the broadcasted result."""
17520
17532
  * return PyArray_MultiIter_INDEX(self) # <<<<<<<<<<<<<<
@@ -17524,7 +17536,7 @@ static CYTHON_INLINE npy_intp __pyx_f_5numpy_9broadcast_5index_index(PyArrayMult
17524
17536
  __pyx_r = PyArray_MultiIter_INDEX(__pyx_v_self);
17525
17537
  goto __pyx_L0;
17526
17538
 
17527
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":333
17539
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":333
17528
17540
  * return PyArray_MultiIter_SIZE(self)
17529
17541
  *
17530
17542
  * @property # <<<<<<<<<<<<<<
@@ -17537,7 +17549,7 @@ static CYTHON_INLINE npy_intp __pyx_f_5numpy_9broadcast_5index_index(PyArrayMult
17537
17549
  return __pyx_r;
17538
17550
  }
17539
17551
 
17540
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":338
17552
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":338
17541
17553
  * return PyArray_MultiIter_INDEX(self)
17542
17554
  *
17543
17555
  * @property # <<<<<<<<<<<<<<
@@ -17548,7 +17560,7 @@ static CYTHON_INLINE npy_intp __pyx_f_5numpy_9broadcast_5index_index(PyArrayMult
17548
17560
  static CYTHON_INLINE int __pyx_f_5numpy_9broadcast_2nd_nd(PyArrayMultiIterObject *__pyx_v_self) {
17549
17561
  int __pyx_r;
17550
17562
 
17551
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":341
17563
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":341
17552
17564
  * cdef inline int nd(self) noexcept nogil:
17553
17565
  * """The number of dimensions in the broadcasted result."""
17554
17566
  * return PyArray_MultiIter_NDIM(self) # <<<<<<<<<<<<<<
@@ -17558,7 +17570,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_9broadcast_2nd_nd(PyArrayMultiIterObject
17558
17570
  __pyx_r = PyArray_MultiIter_NDIM(__pyx_v_self);
17559
17571
  goto __pyx_L0;
17560
17572
 
17561
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":338
17573
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":338
17562
17574
  * return PyArray_MultiIter_INDEX(self)
17563
17575
  *
17564
17576
  * @property # <<<<<<<<<<<<<<
@@ -17571,7 +17583,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_9broadcast_2nd_nd(PyArrayMultiIterObject
17571
17583
  return __pyx_r;
17572
17584
  }
17573
17585
 
17574
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":343
17586
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":343
17575
17587
  * return PyArray_MultiIter_NDIM(self)
17576
17588
  *
17577
17589
  * @property # <<<<<<<<<<<<<<
@@ -17582,7 +17594,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_9broadcast_2nd_nd(PyArrayMultiIterObject
17582
17594
  static CYTHON_INLINE npy_intp *__pyx_f_5numpy_9broadcast_10dimensions_dimensions(PyArrayMultiIterObject *__pyx_v_self) {
17583
17595
  npy_intp *__pyx_r;
17584
17596
 
17585
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":346
17597
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":346
17586
17598
  * cdef inline npy_intp* dimensions(self) noexcept nogil:
17587
17599
  * """The shape of the broadcasted result."""
17588
17600
  * return PyArray_MultiIter_DIMS(self) # <<<<<<<<<<<<<<
@@ -17592,7 +17604,7 @@ static CYTHON_INLINE npy_intp *__pyx_f_5numpy_9broadcast_10dimensions_dimensions
17592
17604
  __pyx_r = PyArray_MultiIter_DIMS(__pyx_v_self);
17593
17605
  goto __pyx_L0;
17594
17606
 
17595
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":343
17607
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":343
17596
17608
  * return PyArray_MultiIter_NDIM(self)
17597
17609
  *
17598
17610
  * @property # <<<<<<<<<<<<<<
@@ -17605,7 +17617,7 @@ static CYTHON_INLINE npy_intp *__pyx_f_5numpy_9broadcast_10dimensions_dimensions
17605
17617
  return __pyx_r;
17606
17618
  }
17607
17619
 
17608
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":348
17620
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":348
17609
17621
  * return PyArray_MultiIter_DIMS(self)
17610
17622
  *
17611
17623
  * @property # <<<<<<<<<<<<<<
@@ -17616,7 +17628,7 @@ static CYTHON_INLINE npy_intp *__pyx_f_5numpy_9broadcast_10dimensions_dimensions
17616
17628
  static CYTHON_INLINE void **__pyx_f_5numpy_9broadcast_5iters_iters(PyArrayMultiIterObject *__pyx_v_self) {
17617
17629
  void **__pyx_r;
17618
17630
 
17619
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":352
17631
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":352
17620
17632
  * """An array of iterator objects that holds the iterators for the arrays to be broadcast together.
17621
17633
  * On return, the iterators are adjusted for broadcasting."""
17622
17634
  * return PyArray_MultiIter_ITERS(self) # <<<<<<<<<<<<<<
@@ -17626,7 +17638,7 @@ static CYTHON_INLINE void **__pyx_f_5numpy_9broadcast_5iters_iters(PyArrayMultiI
17626
17638
  __pyx_r = PyArray_MultiIter_ITERS(__pyx_v_self);
17627
17639
  goto __pyx_L0;
17628
17640
 
17629
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":348
17641
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":348
17630
17642
  * return PyArray_MultiIter_DIMS(self)
17631
17643
  *
17632
17644
  * @property # <<<<<<<<<<<<<<
@@ -17639,7 +17651,7 @@ static CYTHON_INLINE void **__pyx_f_5numpy_9broadcast_5iters_iters(PyArrayMultiI
17639
17651
  return __pyx_r;
17640
17652
  }
17641
17653
 
17642
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":366
17654
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":366
17643
17655
  * # Instead, we use properties that map to the corresponding C-API functions.
17644
17656
  *
17645
17657
  * @property # <<<<<<<<<<<<<<
@@ -17650,7 +17662,7 @@ static CYTHON_INLINE void **__pyx_f_5numpy_9broadcast_5iters_iters(PyArrayMultiI
17650
17662
  static CYTHON_INLINE PyObject *__pyx_f_5numpy_7ndarray_4base_base(PyArrayObject *__pyx_v_self) {
17651
17663
  PyObject *__pyx_r;
17652
17664
 
17653
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":370
17665
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":370
17654
17666
  * """Returns a borrowed reference to the object owning the data/memory.
17655
17667
  * """
17656
17668
  * return PyArray_BASE(self) # <<<<<<<<<<<<<<
@@ -17660,7 +17672,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_7ndarray_4base_base(PyArrayObject
17660
17672
  __pyx_r = PyArray_BASE(__pyx_v_self);
17661
17673
  goto __pyx_L0;
17662
17674
 
17663
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":366
17675
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":366
17664
17676
  * # Instead, we use properties that map to the corresponding C-API functions.
17665
17677
  *
17666
17678
  * @property # <<<<<<<<<<<<<<
@@ -17673,7 +17685,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_7ndarray_4base_base(PyArrayObject
17673
17685
  return __pyx_r;
17674
17686
  }
17675
17687
 
17676
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":372
17688
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":372
17677
17689
  * return PyArray_BASE(self)
17678
17690
  *
17679
17691
  * @property # <<<<<<<<<<<<<<
@@ -17687,7 +17699,7 @@ static CYTHON_INLINE PyArray_Descr *__pyx_f_5numpy_7ndarray_5descr_descr(PyArray
17687
17699
  PyArray_Descr *__pyx_t_1;
17688
17700
  __Pyx_RefNannySetupContext("descr", 0);
17689
17701
 
17690
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":376
17702
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":376
17691
17703
  * """Returns an owned reference to the dtype of the array.
17692
17704
  * """
17693
17705
  * return <dtype>PyArray_DESCR(self) # <<<<<<<<<<<<<<
@@ -17700,7 +17712,7 @@ static CYTHON_INLINE PyArray_Descr *__pyx_f_5numpy_7ndarray_5descr_descr(PyArray
17700
17712
  __pyx_r = ((PyArray_Descr *)__pyx_t_1);
17701
17713
  goto __pyx_L0;
17702
17714
 
17703
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":372
17715
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":372
17704
17716
  * return PyArray_BASE(self)
17705
17717
  *
17706
17718
  * @property # <<<<<<<<<<<<<<
@@ -17715,7 +17727,7 @@ static CYTHON_INLINE PyArray_Descr *__pyx_f_5numpy_7ndarray_5descr_descr(PyArray
17715
17727
  return __pyx_r;
17716
17728
  }
17717
17729
 
17718
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":378
17730
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":378
17719
17731
  * return <dtype>PyArray_DESCR(self)
17720
17732
  *
17721
17733
  * @property # <<<<<<<<<<<<<<
@@ -17726,7 +17738,7 @@ static CYTHON_INLINE PyArray_Descr *__pyx_f_5numpy_7ndarray_5descr_descr(PyArray
17726
17738
  static CYTHON_INLINE int __pyx_f_5numpy_7ndarray_4ndim_ndim(PyArrayObject *__pyx_v_self) {
17727
17739
  int __pyx_r;
17728
17740
 
17729
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":382
17741
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":382
17730
17742
  * """Returns the number of dimensions in the array.
17731
17743
  * """
17732
17744
  * return PyArray_NDIM(self) # <<<<<<<<<<<<<<
@@ -17736,7 +17748,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_7ndarray_4ndim_ndim(PyArrayObject *__pyx
17736
17748
  __pyx_r = PyArray_NDIM(__pyx_v_self);
17737
17749
  goto __pyx_L0;
17738
17750
 
17739
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":378
17751
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":378
17740
17752
  * return <dtype>PyArray_DESCR(self)
17741
17753
  *
17742
17754
  * @property # <<<<<<<<<<<<<<
@@ -17749,7 +17761,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_7ndarray_4ndim_ndim(PyArrayObject *__pyx
17749
17761
  return __pyx_r;
17750
17762
  }
17751
17763
 
17752
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":384
17764
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":384
17753
17765
  * return PyArray_NDIM(self)
17754
17766
  *
17755
17767
  * @property # <<<<<<<<<<<<<<
@@ -17760,7 +17772,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_7ndarray_4ndim_ndim(PyArrayObject *__pyx
17760
17772
  static CYTHON_INLINE npy_intp *__pyx_f_5numpy_7ndarray_5shape_shape(PyArrayObject *__pyx_v_self) {
17761
17773
  npy_intp *__pyx_r;
17762
17774
 
17763
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":390
17775
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":390
17764
17776
  * Can return NULL for 0-dimensional arrays.
17765
17777
  * """
17766
17778
  * return PyArray_DIMS(self) # <<<<<<<<<<<<<<
@@ -17770,7 +17782,7 @@ static CYTHON_INLINE npy_intp *__pyx_f_5numpy_7ndarray_5shape_shape(PyArrayObjec
17770
17782
  __pyx_r = PyArray_DIMS(__pyx_v_self);
17771
17783
  goto __pyx_L0;
17772
17784
 
17773
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":384
17785
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":384
17774
17786
  * return PyArray_NDIM(self)
17775
17787
  *
17776
17788
  * @property # <<<<<<<<<<<<<<
@@ -17783,7 +17795,7 @@ static CYTHON_INLINE npy_intp *__pyx_f_5numpy_7ndarray_5shape_shape(PyArrayObjec
17783
17795
  return __pyx_r;
17784
17796
  }
17785
17797
 
17786
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":392
17798
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":392
17787
17799
  * return PyArray_DIMS(self)
17788
17800
  *
17789
17801
  * @property # <<<<<<<<<<<<<<
@@ -17794,7 +17806,7 @@ static CYTHON_INLINE npy_intp *__pyx_f_5numpy_7ndarray_5shape_shape(PyArrayObjec
17794
17806
  static CYTHON_INLINE npy_intp *__pyx_f_5numpy_7ndarray_7strides_strides(PyArrayObject *__pyx_v_self) {
17795
17807
  npy_intp *__pyx_r;
17796
17808
 
17797
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":397
17809
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":397
17798
17810
  * The number of elements matches the number of dimensions of the array (ndim).
17799
17811
  * """
17800
17812
  * return PyArray_STRIDES(self) # <<<<<<<<<<<<<<
@@ -17804,7 +17816,7 @@ static CYTHON_INLINE npy_intp *__pyx_f_5numpy_7ndarray_7strides_strides(PyArrayO
17804
17816
  __pyx_r = PyArray_STRIDES(__pyx_v_self);
17805
17817
  goto __pyx_L0;
17806
17818
 
17807
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":392
17819
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":392
17808
17820
  * return PyArray_DIMS(self)
17809
17821
  *
17810
17822
  * @property # <<<<<<<<<<<<<<
@@ -17817,7 +17829,7 @@ static CYTHON_INLINE npy_intp *__pyx_f_5numpy_7ndarray_7strides_strides(PyArrayO
17817
17829
  return __pyx_r;
17818
17830
  }
17819
17831
 
17820
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":399
17832
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":399
17821
17833
  * return PyArray_STRIDES(self)
17822
17834
  *
17823
17835
  * @property # <<<<<<<<<<<<<<
@@ -17828,7 +17840,7 @@ static CYTHON_INLINE npy_intp *__pyx_f_5numpy_7ndarray_7strides_strides(PyArrayO
17828
17840
  static CYTHON_INLINE npy_intp __pyx_f_5numpy_7ndarray_4size_size(PyArrayObject *__pyx_v_self) {
17829
17841
  npy_intp __pyx_r;
17830
17842
 
17831
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":403
17843
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":403
17832
17844
  * """Returns the total size (in number of elements) of the array.
17833
17845
  * """
17834
17846
  * return PyArray_SIZE(self) # <<<<<<<<<<<<<<
@@ -17838,7 +17850,7 @@ static CYTHON_INLINE npy_intp __pyx_f_5numpy_7ndarray_4size_size(PyArrayObject *
17838
17850
  __pyx_r = PyArray_SIZE(__pyx_v_self);
17839
17851
  goto __pyx_L0;
17840
17852
 
17841
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":399
17853
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":399
17842
17854
  * return PyArray_STRIDES(self)
17843
17855
  *
17844
17856
  * @property # <<<<<<<<<<<<<<
@@ -17851,7 +17863,7 @@ static CYTHON_INLINE npy_intp __pyx_f_5numpy_7ndarray_4size_size(PyArrayObject *
17851
17863
  return __pyx_r;
17852
17864
  }
17853
17865
 
17854
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":405
17866
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":405
17855
17867
  * return PyArray_SIZE(self)
17856
17868
  *
17857
17869
  * @property # <<<<<<<<<<<<<<
@@ -17862,7 +17874,7 @@ static CYTHON_INLINE npy_intp __pyx_f_5numpy_7ndarray_4size_size(PyArrayObject *
17862
17874
  static CYTHON_INLINE char *__pyx_f_5numpy_7ndarray_4data_data(PyArrayObject *__pyx_v_self) {
17863
17875
  char *__pyx_r;
17864
17876
 
17865
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":412
17877
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":412
17866
17878
  * of `PyArray_DATA()` instead, which returns a 'void*'.
17867
17879
  * """
17868
17880
  * return PyArray_BYTES(self) # <<<<<<<<<<<<<<
@@ -17872,7 +17884,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy_7ndarray_4data_data(PyArrayObject *__p
17872
17884
  __pyx_r = PyArray_BYTES(__pyx_v_self);
17873
17885
  goto __pyx_L0;
17874
17886
 
17875
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":405
17887
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":405
17876
17888
  * return PyArray_SIZE(self)
17877
17889
  *
17878
17890
  * @property # <<<<<<<<<<<<<<
@@ -17885,7 +17897,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy_7ndarray_4data_data(PyArrayObject *__p
17885
17897
  return __pyx_r;
17886
17898
  }
17887
17899
 
17888
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":824
17900
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":824
17889
17901
  * ctypedef long double complex clongdouble_t
17890
17902
  *
17891
17903
  * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<<
@@ -17902,7 +17914,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__
17902
17914
  int __pyx_clineno = 0;
17903
17915
  __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0);
17904
17916
 
17905
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":825
17917
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":825
17906
17918
  *
17907
17919
  * cdef inline object PyArray_MultiIterNew1(a):
17908
17920
  * return PyArray_MultiIterNew(1, <void*>a) # <<<<<<<<<<<<<<
@@ -17916,7 +17928,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__
17916
17928
  __pyx_t_1 = 0;
17917
17929
  goto __pyx_L0;
17918
17930
 
17919
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":824
17931
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":824
17920
17932
  * ctypedef long double complex clongdouble_t
17921
17933
  *
17922
17934
  * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<<
@@ -17935,7 +17947,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__
17935
17947
  return __pyx_r;
17936
17948
  }
17937
17949
 
17938
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":827
17950
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":827
17939
17951
  * return PyArray_MultiIterNew(1, <void*>a)
17940
17952
  *
17941
17953
  * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<<
@@ -17952,7 +17964,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__
17952
17964
  int __pyx_clineno = 0;
17953
17965
  __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0);
17954
17966
 
17955
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":828
17967
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":828
17956
17968
  *
17957
17969
  * cdef inline object PyArray_MultiIterNew2(a, b):
17958
17970
  * return PyArray_MultiIterNew(2, <void*>a, <void*>b) # <<<<<<<<<<<<<<
@@ -17966,7 +17978,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__
17966
17978
  __pyx_t_1 = 0;
17967
17979
  goto __pyx_L0;
17968
17980
 
17969
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":827
17981
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":827
17970
17982
  * return PyArray_MultiIterNew(1, <void*>a)
17971
17983
  *
17972
17984
  * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<<
@@ -17985,7 +17997,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__
17985
17997
  return __pyx_r;
17986
17998
  }
17987
17999
 
17988
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":830
18000
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":830
17989
18001
  * return PyArray_MultiIterNew(2, <void*>a, <void*>b)
17990
18002
  *
17991
18003
  * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<<
@@ -18002,7 +18014,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__
18002
18014
  int __pyx_clineno = 0;
18003
18015
  __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0);
18004
18016
 
18005
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":831
18017
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":831
18006
18018
  *
18007
18019
  * cdef inline object PyArray_MultiIterNew3(a, b, c):
18008
18020
  * return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c) # <<<<<<<<<<<<<<
@@ -18016,7 +18028,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__
18016
18028
  __pyx_t_1 = 0;
18017
18029
  goto __pyx_L0;
18018
18030
 
18019
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":830
18031
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":830
18020
18032
  * return PyArray_MultiIterNew(2, <void*>a, <void*>b)
18021
18033
  *
18022
18034
  * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<<
@@ -18035,7 +18047,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__
18035
18047
  return __pyx_r;
18036
18048
  }
18037
18049
 
18038
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":833
18050
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":833
18039
18051
  * return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
18040
18052
  *
18041
18053
  * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<<
@@ -18052,7 +18064,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__
18052
18064
  int __pyx_clineno = 0;
18053
18065
  __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0);
18054
18066
 
18055
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":834
18067
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":834
18056
18068
  *
18057
18069
  * cdef inline object PyArray_MultiIterNew4(a, b, c, d):
18058
18070
  * return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d) # <<<<<<<<<<<<<<
@@ -18066,7 +18078,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__
18066
18078
  __pyx_t_1 = 0;
18067
18079
  goto __pyx_L0;
18068
18080
 
18069
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":833
18081
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":833
18070
18082
  * return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
18071
18083
  *
18072
18084
  * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<<
@@ -18085,7 +18097,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__
18085
18097
  return __pyx_r;
18086
18098
  }
18087
18099
 
18088
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":836
18100
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":836
18089
18101
  * return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
18090
18102
  *
18091
18103
  * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<<
@@ -18102,7 +18114,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__
18102
18114
  int __pyx_clineno = 0;
18103
18115
  __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0);
18104
18116
 
18105
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":837
18117
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":837
18106
18118
  *
18107
18119
  * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
18108
18120
  * return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e) # <<<<<<<<<<<<<<
@@ -18116,7 +18128,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__
18116
18128
  __pyx_t_1 = 0;
18117
18129
  goto __pyx_L0;
18118
18130
 
18119
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":836
18131
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":836
18120
18132
  * return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
18121
18133
  *
18122
18134
  * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<<
@@ -18135,7 +18147,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__
18135
18147
  return __pyx_r;
18136
18148
  }
18137
18149
 
18138
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":839
18150
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":839
18139
18151
  * return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
18140
18152
  *
18141
18153
  * cdef inline tuple PyDataType_SHAPE(dtype d): # <<<<<<<<<<<<<<
@@ -18150,7 +18162,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__
18150
18162
  PyObject *__pyx_t_2;
18151
18163
  __Pyx_RefNannySetupContext("PyDataType_SHAPE", 0);
18152
18164
 
18153
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":840
18165
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":840
18154
18166
  *
18155
18167
  * cdef inline tuple PyDataType_SHAPE(dtype d):
18156
18168
  * if PyDataType_HASSUBARRAY(d): # <<<<<<<<<<<<<<
@@ -18160,7 +18172,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__
18160
18172
  __pyx_t_1 = PyDataType_HASSUBARRAY(__pyx_v_d);
18161
18173
  if (__pyx_t_1) {
18162
18174
 
18163
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":841
18175
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":841
18164
18176
  * cdef inline tuple PyDataType_SHAPE(dtype d):
18165
18177
  * if PyDataType_HASSUBARRAY(d):
18166
18178
  * return <tuple>d.subarray.shape # <<<<<<<<<<<<<<
@@ -18173,7 +18185,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__
18173
18185
  __pyx_r = ((PyObject*)__pyx_t_2);
18174
18186
  goto __pyx_L0;
18175
18187
 
18176
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":840
18188
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":840
18177
18189
  *
18178
18190
  * cdef inline tuple PyDataType_SHAPE(dtype d):
18179
18191
  * if PyDataType_HASSUBARRAY(d): # <<<<<<<<<<<<<<
@@ -18182,7 +18194,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__
18182
18194
  */
18183
18195
  }
18184
18196
 
18185
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":843
18197
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":843
18186
18198
  * return <tuple>d.subarray.shape
18187
18199
  * else:
18188
18200
  * return () # <<<<<<<<<<<<<<
@@ -18196,7 +18208,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__
18196
18208
  goto __pyx_L0;
18197
18209
  }
18198
18210
 
18199
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":839
18211
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":839
18200
18212
  * return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
18201
18213
  *
18202
18214
  * cdef inline tuple PyDataType_SHAPE(dtype d): # <<<<<<<<<<<<<<
@@ -18211,7 +18223,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__
18211
18223
  return __pyx_r;
18212
18224
  }
18213
18225
 
18214
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1035
18226
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1035
18215
18227
  * int _import_umath() except -1
18216
18228
  *
18217
18229
  * cdef inline void set_array_base(ndarray arr, object base) except *: # <<<<<<<<<<<<<<
@@ -18225,7 +18237,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a
18225
18237
  const char *__pyx_filename = NULL;
18226
18238
  int __pyx_clineno = 0;
18227
18239
 
18228
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1036
18240
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1036
18229
18241
  *
18230
18242
  * cdef inline void set_array_base(ndarray arr, object base) except *:
18231
18243
  * Py_INCREF(base) # important to do this before stealing the reference below! # <<<<<<<<<<<<<<
@@ -18234,7 +18246,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a
18234
18246
  */
18235
18247
  Py_INCREF(__pyx_v_base);
18236
18248
 
18237
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1037
18249
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1037
18238
18250
  * cdef inline void set_array_base(ndarray arr, object base) except *:
18239
18251
  * Py_INCREF(base) # important to do this before stealing the reference below!
18240
18252
  * PyArray_SetBaseObject(arr, base) # <<<<<<<<<<<<<<
@@ -18243,7 +18255,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a
18243
18255
  */
18244
18256
  __pyx_t_1 = PyArray_SetBaseObject(__pyx_v_arr, __pyx_v_base); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(2, 1037, __pyx_L1_error)
18245
18257
 
18246
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1035
18258
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1035
18247
18259
  * int _import_umath() except -1
18248
18260
  *
18249
18261
  * cdef inline void set_array_base(ndarray arr, object base) except *: # <<<<<<<<<<<<<<
@@ -18258,7 +18270,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a
18258
18270
  __pyx_L0:;
18259
18271
  }
18260
18272
 
18261
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1039
18273
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1039
18262
18274
  * PyArray_SetBaseObject(arr, base)
18263
18275
  *
18264
18276
  * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<<
@@ -18273,7 +18285,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
18273
18285
  int __pyx_t_1;
18274
18286
  __Pyx_RefNannySetupContext("get_array_base", 0);
18275
18287
 
18276
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1040
18288
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1040
18277
18289
  *
18278
18290
  * cdef inline object get_array_base(ndarray arr):
18279
18291
  * base = PyArray_BASE(arr) # <<<<<<<<<<<<<<
@@ -18282,7 +18294,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
18282
18294
  */
18283
18295
  __pyx_v_base = PyArray_BASE(__pyx_v_arr);
18284
18296
 
18285
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1041
18297
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1041
18286
18298
  * cdef inline object get_array_base(ndarray arr):
18287
18299
  * base = PyArray_BASE(arr)
18288
18300
  * if base is NULL: # <<<<<<<<<<<<<<
@@ -18292,7 +18304,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
18292
18304
  __pyx_t_1 = (__pyx_v_base == NULL);
18293
18305
  if (__pyx_t_1) {
18294
18306
 
18295
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1042
18307
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1042
18296
18308
  * base = PyArray_BASE(arr)
18297
18309
  * if base is NULL:
18298
18310
  * return None # <<<<<<<<<<<<<<
@@ -18303,7 +18315,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
18303
18315
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
18304
18316
  goto __pyx_L0;
18305
18317
 
18306
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1041
18318
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1041
18307
18319
  * cdef inline object get_array_base(ndarray arr):
18308
18320
  * base = PyArray_BASE(arr)
18309
18321
  * if base is NULL: # <<<<<<<<<<<<<<
@@ -18312,7 +18324,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
18312
18324
  */
18313
18325
  }
18314
18326
 
18315
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1043
18327
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1043
18316
18328
  * if base is NULL:
18317
18329
  * return None
18318
18330
  * return <object>base # <<<<<<<<<<<<<<
@@ -18324,7 +18336,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
18324
18336
  __pyx_r = ((PyObject *)__pyx_v_base);
18325
18337
  goto __pyx_L0;
18326
18338
 
18327
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1039
18339
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1039
18328
18340
  * PyArray_SetBaseObject(arr, base)
18329
18341
  *
18330
18342
  * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<<
@@ -18339,7 +18351,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
18339
18351
  return __pyx_r;
18340
18352
  }
18341
18353
 
18342
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1047
18354
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1047
18343
18355
  * # Versions of the import_* functions which are more suitable for
18344
18356
  * # Cython code.
18345
18357
  * cdef inline int import_array() except -1: # <<<<<<<<<<<<<<
@@ -18366,7 +18378,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
18366
18378
  int __pyx_clineno = 0;
18367
18379
  __Pyx_RefNannySetupContext("import_array", 0);
18368
18380
 
18369
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1048
18381
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1048
18370
18382
  * # Cython code.
18371
18383
  * cdef inline int import_array() except -1:
18372
18384
  * try: # <<<<<<<<<<<<<<
@@ -18382,7 +18394,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
18382
18394
  __Pyx_XGOTREF(__pyx_t_3);
18383
18395
  /*try:*/ {
18384
18396
 
18385
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1049
18397
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1049
18386
18398
  * cdef inline int import_array() except -1:
18387
18399
  * try:
18388
18400
  * __pyx_import_array() # <<<<<<<<<<<<<<
@@ -18391,7 +18403,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
18391
18403
  */
18392
18404
  __pyx_t_4 = _import_array(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 1049, __pyx_L3_error)
18393
18405
 
18394
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1048
18406
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1048
18395
18407
  * # Cython code.
18396
18408
  * cdef inline int import_array() except -1:
18397
18409
  * try: # <<<<<<<<<<<<<<
@@ -18405,7 +18417,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
18405
18417
  goto __pyx_L8_try_end;
18406
18418
  __pyx_L3_error:;
18407
18419
 
18408
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1050
18420
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1050
18409
18421
  * try:
18410
18422
  * __pyx_import_array()
18411
18423
  * except Exception: # <<<<<<<<<<<<<<
@@ -18420,7 +18432,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
18420
18432
  __Pyx_XGOTREF(__pyx_t_6);
18421
18433
  __Pyx_XGOTREF(__pyx_t_7);
18422
18434
 
18423
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1051
18435
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1051
18424
18436
  * __pyx_import_array()
18425
18437
  * except Exception:
18426
18438
  * raise ImportError("numpy._core.multiarray failed to import") # <<<<<<<<<<<<<<
@@ -18445,7 +18457,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
18445
18457
  }
18446
18458
  goto __pyx_L5_except_error;
18447
18459
 
18448
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1048
18460
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1048
18449
18461
  * # Cython code.
18450
18462
  * cdef inline int import_array() except -1:
18451
18463
  * try: # <<<<<<<<<<<<<<
@@ -18461,7 +18473,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
18461
18473
  __pyx_L8_try_end:;
18462
18474
  }
18463
18475
 
18464
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1047
18476
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1047
18465
18477
  * # Versions of the import_* functions which are more suitable for
18466
18478
  * # Cython code.
18467
18479
  * cdef inline int import_array() except -1: # <<<<<<<<<<<<<<
@@ -18486,7 +18498,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
18486
18498
  return __pyx_r;
18487
18499
  }
18488
18500
 
18489
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1053
18501
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1053
18490
18502
  * raise ImportError("numpy._core.multiarray failed to import")
18491
18503
  *
18492
18504
  * cdef inline int import_umath() except -1: # <<<<<<<<<<<<<<
@@ -18513,7 +18525,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
18513
18525
  int __pyx_clineno = 0;
18514
18526
  __Pyx_RefNannySetupContext("import_umath", 0);
18515
18527
 
18516
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1054
18528
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1054
18517
18529
  *
18518
18530
  * cdef inline int import_umath() except -1:
18519
18531
  * try: # <<<<<<<<<<<<<<
@@ -18529,7 +18541,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
18529
18541
  __Pyx_XGOTREF(__pyx_t_3);
18530
18542
  /*try:*/ {
18531
18543
 
18532
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1055
18544
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1055
18533
18545
  * cdef inline int import_umath() except -1:
18534
18546
  * try:
18535
18547
  * _import_umath() # <<<<<<<<<<<<<<
@@ -18538,7 +18550,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
18538
18550
  */
18539
18551
  __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 1055, __pyx_L3_error)
18540
18552
 
18541
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1054
18553
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1054
18542
18554
  *
18543
18555
  * cdef inline int import_umath() except -1:
18544
18556
  * try: # <<<<<<<<<<<<<<
@@ -18552,7 +18564,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
18552
18564
  goto __pyx_L8_try_end;
18553
18565
  __pyx_L3_error:;
18554
18566
 
18555
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1056
18567
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1056
18556
18568
  * try:
18557
18569
  * _import_umath()
18558
18570
  * except Exception: # <<<<<<<<<<<<<<
@@ -18567,7 +18579,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
18567
18579
  __Pyx_XGOTREF(__pyx_t_6);
18568
18580
  __Pyx_XGOTREF(__pyx_t_7);
18569
18581
 
18570
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1057
18582
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1057
18571
18583
  * _import_umath()
18572
18584
  * except Exception:
18573
18585
  * raise ImportError("numpy._core.umath failed to import") # <<<<<<<<<<<<<<
@@ -18592,7 +18604,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
18592
18604
  }
18593
18605
  goto __pyx_L5_except_error;
18594
18606
 
18595
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1054
18607
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1054
18596
18608
  *
18597
18609
  * cdef inline int import_umath() except -1:
18598
18610
  * try: # <<<<<<<<<<<<<<
@@ -18608,7 +18620,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
18608
18620
  __pyx_L8_try_end:;
18609
18621
  }
18610
18622
 
18611
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1053
18623
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1053
18612
18624
  * raise ImportError("numpy._core.multiarray failed to import")
18613
18625
  *
18614
18626
  * cdef inline int import_umath() except -1: # <<<<<<<<<<<<<<
@@ -18633,7 +18645,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
18633
18645
  return __pyx_r;
18634
18646
  }
18635
18647
 
18636
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1059
18648
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1059
18637
18649
  * raise ImportError("numpy._core.umath failed to import")
18638
18650
  *
18639
18651
  * cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<<
@@ -18660,7 +18672,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
18660
18672
  int __pyx_clineno = 0;
18661
18673
  __Pyx_RefNannySetupContext("import_ufunc", 0);
18662
18674
 
18663
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1060
18675
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1060
18664
18676
  *
18665
18677
  * cdef inline int import_ufunc() except -1:
18666
18678
  * try: # <<<<<<<<<<<<<<
@@ -18676,7 +18688,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
18676
18688
  __Pyx_XGOTREF(__pyx_t_3);
18677
18689
  /*try:*/ {
18678
18690
 
18679
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1061
18691
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1061
18680
18692
  * cdef inline int import_ufunc() except -1:
18681
18693
  * try:
18682
18694
  * _import_umath() # <<<<<<<<<<<<<<
@@ -18685,7 +18697,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
18685
18697
  */
18686
18698
  __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 1061, __pyx_L3_error)
18687
18699
 
18688
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1060
18700
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1060
18689
18701
  *
18690
18702
  * cdef inline int import_ufunc() except -1:
18691
18703
  * try: # <<<<<<<<<<<<<<
@@ -18699,7 +18711,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
18699
18711
  goto __pyx_L8_try_end;
18700
18712
  __pyx_L3_error:;
18701
18713
 
18702
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1062
18714
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1062
18703
18715
  * try:
18704
18716
  * _import_umath()
18705
18717
  * except Exception: # <<<<<<<<<<<<<<
@@ -18714,7 +18726,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
18714
18726
  __Pyx_XGOTREF(__pyx_t_6);
18715
18727
  __Pyx_XGOTREF(__pyx_t_7);
18716
18728
 
18717
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1063
18729
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1063
18718
18730
  * _import_umath()
18719
18731
  * except Exception:
18720
18732
  * raise ImportError("numpy._core.umath failed to import") # <<<<<<<<<<<<<<
@@ -18739,7 +18751,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
18739
18751
  }
18740
18752
  goto __pyx_L5_except_error;
18741
18753
 
18742
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1060
18754
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1060
18743
18755
  *
18744
18756
  * cdef inline int import_ufunc() except -1:
18745
18757
  * try: # <<<<<<<<<<<<<<
@@ -18755,7 +18767,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
18755
18767
  __pyx_L8_try_end:;
18756
18768
  }
18757
18769
 
18758
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1059
18770
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1059
18759
18771
  * raise ImportError("numpy._core.umath failed to import")
18760
18772
  *
18761
18773
  * cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<<
@@ -18780,7 +18792,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
18780
18792
  return __pyx_r;
18781
18793
  }
18782
18794
 
18783
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1066
18795
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1066
18784
18796
  *
18785
18797
  *
18786
18798
  * cdef inline bint is_timedelta64_object(object obj) noexcept: # <<<<<<<<<<<<<<
@@ -18791,7 +18803,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
18791
18803
  static CYTHON_INLINE int __pyx_f_5numpy_is_timedelta64_object(PyObject *__pyx_v_obj) {
18792
18804
  int __pyx_r;
18793
18805
 
18794
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1078
18806
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1078
18795
18807
  * bool
18796
18808
  * """
18797
18809
  * return PyObject_TypeCheck(obj, &PyTimedeltaArrType_Type) # <<<<<<<<<<<<<<
@@ -18801,7 +18813,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_is_timedelta64_object(PyObject *__pyx_v_
18801
18813
  __pyx_r = PyObject_TypeCheck(__pyx_v_obj, (&PyTimedeltaArrType_Type));
18802
18814
  goto __pyx_L0;
18803
18815
 
18804
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1066
18816
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1066
18805
18817
  *
18806
18818
  *
18807
18819
  * cdef inline bint is_timedelta64_object(object obj) noexcept: # <<<<<<<<<<<<<<
@@ -18814,7 +18826,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_is_timedelta64_object(PyObject *__pyx_v_
18814
18826
  return __pyx_r;
18815
18827
  }
18816
18828
 
18817
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1081
18829
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1081
18818
18830
  *
18819
18831
  *
18820
18832
  * cdef inline bint is_datetime64_object(object obj) noexcept: # <<<<<<<<<<<<<<
@@ -18825,7 +18837,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_is_timedelta64_object(PyObject *__pyx_v_
18825
18837
  static CYTHON_INLINE int __pyx_f_5numpy_is_datetime64_object(PyObject *__pyx_v_obj) {
18826
18838
  int __pyx_r;
18827
18839
 
18828
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1093
18840
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1093
18829
18841
  * bool
18830
18842
  * """
18831
18843
  * return PyObject_TypeCheck(obj, &PyDatetimeArrType_Type) # <<<<<<<<<<<<<<
@@ -18835,7 +18847,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_is_datetime64_object(PyObject *__pyx_v_o
18835
18847
  __pyx_r = PyObject_TypeCheck(__pyx_v_obj, (&PyDatetimeArrType_Type));
18836
18848
  goto __pyx_L0;
18837
18849
 
18838
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1081
18850
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1081
18839
18851
  *
18840
18852
  *
18841
18853
  * cdef inline bint is_datetime64_object(object obj) noexcept: # <<<<<<<<<<<<<<
@@ -18848,7 +18860,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_is_datetime64_object(PyObject *__pyx_v_o
18848
18860
  return __pyx_r;
18849
18861
  }
18850
18862
 
18851
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1096
18863
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1096
18852
18864
  *
18853
18865
  *
18854
18866
  * cdef inline npy_datetime get_datetime64_value(object obj) noexcept nogil: # <<<<<<<<<<<<<<
@@ -18859,7 +18871,7 @@ static CYTHON_INLINE int __pyx_f_5numpy_is_datetime64_object(PyObject *__pyx_v_o
18859
18871
  static CYTHON_INLINE npy_datetime __pyx_f_5numpy_get_datetime64_value(PyObject *__pyx_v_obj) {
18860
18872
  npy_datetime __pyx_r;
18861
18873
 
18862
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1103
18874
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1103
18863
18875
  * also needed. That can be found using `get_datetime64_unit`.
18864
18876
  * """
18865
18877
  * return (<PyDatetimeScalarObject*>obj).obval # <<<<<<<<<<<<<<
@@ -18869,7 +18881,7 @@ static CYTHON_INLINE npy_datetime __pyx_f_5numpy_get_datetime64_value(PyObject *
18869
18881
  __pyx_r = ((PyDatetimeScalarObject *)__pyx_v_obj)->obval;
18870
18882
  goto __pyx_L0;
18871
18883
 
18872
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1096
18884
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1096
18873
18885
  *
18874
18886
  *
18875
18887
  * cdef inline npy_datetime get_datetime64_value(object obj) noexcept nogil: # <<<<<<<<<<<<<<
@@ -18882,7 +18894,7 @@ static CYTHON_INLINE npy_datetime __pyx_f_5numpy_get_datetime64_value(PyObject *
18882
18894
  return __pyx_r;
18883
18895
  }
18884
18896
 
18885
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1106
18897
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1106
18886
18898
  *
18887
18899
  *
18888
18900
  * cdef inline npy_timedelta get_timedelta64_value(object obj) noexcept nogil: # <<<<<<<<<<<<<<
@@ -18893,7 +18905,7 @@ static CYTHON_INLINE npy_datetime __pyx_f_5numpy_get_datetime64_value(PyObject *
18893
18905
  static CYTHON_INLINE npy_timedelta __pyx_f_5numpy_get_timedelta64_value(PyObject *__pyx_v_obj) {
18894
18906
  npy_timedelta __pyx_r;
18895
18907
 
18896
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1110
18908
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1110
18897
18909
  * returns the int64 value underlying scalar numpy timedelta64 object
18898
18910
  * """
18899
18911
  * return (<PyTimedeltaScalarObject*>obj).obval # <<<<<<<<<<<<<<
@@ -18903,7 +18915,7 @@ static CYTHON_INLINE npy_timedelta __pyx_f_5numpy_get_timedelta64_value(PyObject
18903
18915
  __pyx_r = ((PyTimedeltaScalarObject *)__pyx_v_obj)->obval;
18904
18916
  goto __pyx_L0;
18905
18917
 
18906
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1106
18918
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1106
18907
18919
  *
18908
18920
  *
18909
18921
  * cdef inline npy_timedelta get_timedelta64_value(object obj) noexcept nogil: # <<<<<<<<<<<<<<
@@ -18916,7 +18928,7 @@ static CYTHON_INLINE npy_timedelta __pyx_f_5numpy_get_timedelta64_value(PyObject
18916
18928
  return __pyx_r;
18917
18929
  }
18918
18930
 
18919
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1113
18931
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1113
18920
18932
  *
18921
18933
  *
18922
18934
  * cdef inline NPY_DATETIMEUNIT get_datetime64_unit(object obj) noexcept nogil: # <<<<<<<<<<<<<<
@@ -18927,7 +18939,7 @@ static CYTHON_INLINE npy_timedelta __pyx_f_5numpy_get_timedelta64_value(PyObject
18927
18939
  static CYTHON_INLINE NPY_DATETIMEUNIT __pyx_f_5numpy_get_datetime64_unit(PyObject *__pyx_v_obj) {
18928
18940
  NPY_DATETIMEUNIT __pyx_r;
18929
18941
 
18930
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1117
18942
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1117
18931
18943
  * returns the unit part of the dtype for a numpy datetime64 object.
18932
18944
  * """
18933
18945
  * return <NPY_DATETIMEUNIT>(<PyDatetimeScalarObject*>obj).obmeta.base # <<<<<<<<<<<<<<
@@ -18937,7 +18949,7 @@ static CYTHON_INLINE NPY_DATETIMEUNIT __pyx_f_5numpy_get_datetime64_unit(PyObjec
18937
18949
  __pyx_r = ((NPY_DATETIMEUNIT)((PyDatetimeScalarObject *)__pyx_v_obj)->obmeta.base);
18938
18950
  goto __pyx_L0;
18939
18951
 
18940
- /* "../../../../../private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/build-env-7cbms3d_/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1113
18952
+ /* "../../../../../private/var/folders/xc/cl1fyykn2pj4ryhdw6r1mqtc0000gn/T/build-env-t9k0vrz7/lib/python3.10/site-packages/numpy/__init__.cython-30.pxd":1113
18941
18953
  *
18942
18954
  *
18943
18955
  * cdef inline NPY_DATETIMEUNIT get_datetime64_unit(object obj) noexcept nogil: # <<<<<<<<<<<<<<
@@ -19194,7 +19206,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19194
19206
  * node.categories_go_left = NULL
19195
19207
  * node.n_samples = n_samples # <<<<<<<<<<<<<<
19196
19208
  * node.n_classes = n_classes
19197
- *
19209
+ * node.value_multiclass = NULL
19198
19210
  */
19199
19211
  __pyx_v_node->n_samples = __pyx_v_n_samples;
19200
19212
 
@@ -19202,13 +19214,22 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19202
19214
  * node.categories_go_left = NULL
19203
19215
  * node.n_samples = n_samples
19204
19216
  * node.n_classes = n_classes # <<<<<<<<<<<<<<
19217
+ * node.value_multiclass = NULL
19205
19218
  *
19206
- * if n_classes > 2:
19207
19219
  */
19208
19220
  __pyx_v_node->n_classes = __pyx_v_n_classes;
19209
19221
 
19210
- /* "obliquetree/src/tree.pyx":68
19222
+ /* "obliquetree/src/tree.pyx":67
19223
+ * node.n_samples = n_samples
19211
19224
  * node.n_classes = n_classes
19225
+ * node.value_multiclass = NULL # <<<<<<<<<<<<<<
19226
+ *
19227
+ * if n_classes > 2:
19228
+ */
19229
+ __pyx_v_node->value_multiclass = NULL;
19230
+
19231
+ /* "obliquetree/src/tree.pyx":69
19232
+ * node.value_multiclass = NULL
19212
19233
  *
19213
19234
  * if n_classes > 2: # <<<<<<<<<<<<<<
19214
19235
  * calculate_node_value_multiclass(sample_weight, y, sample_indices, n_samples, n_classes, &node.value_multiclass)
@@ -19217,7 +19238,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19217
19238
  __pyx_t_1 = (__pyx_v_n_classes > 2);
19218
19239
  if (__pyx_t_1) {
19219
19240
 
19220
- /* "obliquetree/src/tree.pyx":69
19241
+ /* "obliquetree/src/tree.pyx":70
19221
19242
  *
19222
19243
  * if n_classes > 2:
19223
19244
  * calculate_node_value_multiclass(sample_weight, y, sample_indices, n_samples, n_classes, &node.value_multiclass) # <<<<<<<<<<<<<<
@@ -19226,8 +19247,8 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19226
19247
  */
19227
19248
  __pyx_f_11obliquetree_3src_6metric_calculate_node_value_multiclass(__pyx_v_sample_weight, __pyx_v_y, __pyx_v_sample_indices, __pyx_v_n_samples, __pyx_v_n_classes, (&__pyx_v_node->value_multiclass));
19228
19249
 
19229
- /* "obliquetree/src/tree.pyx":68
19230
- * node.n_classes = n_classes
19250
+ /* "obliquetree/src/tree.pyx":69
19251
+ * node.value_multiclass = NULL
19231
19252
  *
19232
19253
  * if n_classes > 2: # <<<<<<<<<<<<<<
19233
19254
  * calculate_node_value_multiclass(sample_weight, y, sample_indices, n_samples, n_classes, &node.value_multiclass)
@@ -19236,7 +19257,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19236
19257
  goto __pyx_L7;
19237
19258
  }
19238
19259
 
19239
- /* "obliquetree/src/tree.pyx":71
19260
+ /* "obliquetree/src/tree.pyx":72
19240
19261
  * calculate_node_value_multiclass(sample_weight, y, sample_indices, n_samples, n_classes, &node.value_multiclass)
19241
19262
  * else:
19242
19263
  * node.value = calculate_node_value(sample_weight, y, sample_indices, n_samples) # <<<<<<<<<<<<<<
@@ -19248,7 +19269,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19248
19269
  }
19249
19270
  __pyx_L7:;
19250
19271
 
19251
- /* "obliquetree/src/tree.pyx":74
19272
+ /* "obliquetree/src/tree.pyx":75
19252
19273
  *
19253
19274
  * # If 1 sample => leaf
19254
19275
  * if n_samples == 1: # <<<<<<<<<<<<<<
@@ -19258,7 +19279,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19258
19279
  __pyx_t_1 = (__pyx_v_n_samples == 1);
19259
19280
  if (__pyx_t_1) {
19260
19281
 
19261
- /* "obliquetree/src/tree.pyx":75
19282
+ /* "obliquetree/src/tree.pyx":76
19262
19283
  * # If 1 sample => leaf
19263
19284
  * if n_samples == 1:
19264
19285
  * return node # <<<<<<<<<<<<<<
@@ -19268,7 +19289,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19268
19289
  __pyx_r = __pyx_v_node;
19269
19290
  goto __pyx_L0;
19270
19291
 
19271
- /* "obliquetree/src/tree.pyx":74
19292
+ /* "obliquetree/src/tree.pyx":75
19272
19293
  *
19273
19294
  * # If 1 sample => leaf
19274
19295
  * if n_samples == 1: # <<<<<<<<<<<<<<
@@ -19277,7 +19298,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19277
19298
  */
19278
19299
  }
19279
19300
 
19280
- /* "obliquetree/src/tree.pyx":77
19301
+ /* "obliquetree/src/tree.pyx":78
19281
19302
  * return node
19282
19303
  *
19283
19304
  * if task == 0: # <<<<<<<<<<<<<<
@@ -19287,7 +19308,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19287
19308
  __pyx_t_1 = (__pyx_v_task == 0);
19288
19309
  if (__pyx_t_1) {
19289
19310
 
19290
- /* "obliquetree/src/tree.pyx":78
19311
+ /* "obliquetree/src/tree.pyx":79
19291
19312
  *
19292
19313
  * if task == 0:
19293
19314
  * node.impurity = calculate_node_gini(sample_indices, sample_weight, y, n_samples, n_classes) # <<<<<<<<<<<<<<
@@ -19299,7 +19320,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19299
19320
  __pyx_t_2 = __pyx_f_11obliquetree_3src_6metric_calculate_node_gini(__pyx_v_sample_indices, __pyx_v_sample_weight, __pyx_v_y, __pyx_v_n_samples, &__pyx_t_3);
19300
19321
  __pyx_v_node->impurity = __pyx_t_2;
19301
19322
 
19302
- /* "obliquetree/src/tree.pyx":77
19323
+ /* "obliquetree/src/tree.pyx":78
19303
19324
  * return node
19304
19325
  *
19305
19326
  * if task == 0: # <<<<<<<<<<<<<<
@@ -19309,7 +19330,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19309
19330
  goto __pyx_L9;
19310
19331
  }
19311
19332
 
19312
- /* "obliquetree/src/tree.pyx":80
19333
+ /* "obliquetree/src/tree.pyx":81
19313
19334
  * node.impurity = calculate_node_gini(sample_indices, sample_weight, y, n_samples, n_classes)
19314
19335
  * else:
19315
19336
  * node.impurity = calculate_node_mse(sample_indices, sample_weight, y, n_samples) # <<<<<<<<<<<<<<
@@ -19321,7 +19342,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19321
19342
  }
19322
19343
  __pyx_L9:;
19323
19344
 
19324
- /* "obliquetree/src/tree.pyx":85
19345
+ /* "obliquetree/src/tree.pyx":86
19325
19346
  * # Check stopping criteria
19326
19347
  * if (
19327
19348
  * node.impurity == 0.0 or # <<<<<<<<<<<<<<
@@ -19335,7 +19356,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19335
19356
  goto __pyx_L11_bool_binop_done;
19336
19357
  }
19337
19358
 
19338
- /* "obliquetree/src/tree.pyx":86
19359
+ /* "obliquetree/src/tree.pyx":87
19339
19360
  * if (
19340
19361
  * node.impurity == 0.0 or
19341
19362
  * depth >= max_depth or # <<<<<<<<<<<<<<
@@ -19349,7 +19370,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19349
19370
  goto __pyx_L11_bool_binop_done;
19350
19371
  }
19351
19372
 
19352
- /* "obliquetree/src/tree.pyx":87
19373
+ /* "obliquetree/src/tree.pyx":88
19353
19374
  * node.impurity == 0.0 or
19354
19375
  * depth >= max_depth or
19355
19376
  * n_samples < 2 * min_samples_leaf or # <<<<<<<<<<<<<<
@@ -19363,7 +19384,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19363
19384
  goto __pyx_L11_bool_binop_done;
19364
19385
  }
19365
19386
 
19366
- /* "obliquetree/src/tree.pyx":88
19387
+ /* "obliquetree/src/tree.pyx":89
19367
19388
  * depth >= max_depth or
19368
19389
  * n_samples < 2 * min_samples_leaf or
19369
19390
  * n_samples < min_samples_split # <<<<<<<<<<<<<<
@@ -19374,7 +19395,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19374
19395
  __pyx_t_1 = __pyx_t_4;
19375
19396
  __pyx_L11_bool_binop_done:;
19376
19397
 
19377
- /* "obliquetree/src/tree.pyx":84
19398
+ /* "obliquetree/src/tree.pyx":85
19378
19399
  *
19379
19400
  * # Check stopping criteria
19380
19401
  * if ( # <<<<<<<<<<<<<<
@@ -19383,7 +19404,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19383
19404
  */
19384
19405
  if (__pyx_t_1) {
19385
19406
 
19386
- /* "obliquetree/src/tree.pyx":90
19407
+ /* "obliquetree/src/tree.pyx":91
19387
19408
  * n_samples < min_samples_split
19388
19409
  * ):
19389
19410
  * return node # <<<<<<<<<<<<<<
@@ -19393,7 +19414,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19393
19414
  __pyx_r = __pyx_v_node;
19394
19415
  goto __pyx_L0;
19395
19416
 
19396
- /* "obliquetree/src/tree.pyx":84
19417
+ /* "obliquetree/src/tree.pyx":85
19397
19418
  *
19398
19419
  * # Check stopping criteria
19399
19420
  * if ( # <<<<<<<<<<<<<<
@@ -19402,7 +19423,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19402
19423
  */
19403
19424
  }
19404
19425
 
19405
- /* "obliquetree/src/tree.pyx":93
19426
+ /* "obliquetree/src/tree.pyx":94
19406
19427
  *
19407
19428
  * # We'll store the sorted indices for whichever feature gave the best split
19408
19429
  * cdef int* best_sorted_indices = <int*>malloc(n_samples * sizeof(int)) # <<<<<<<<<<<<<<
@@ -19411,7 +19432,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19411
19432
  */
19412
19433
  __pyx_v_best_sorted_indices = ((int *)malloc((__pyx_v_n_samples * (sizeof(int)))));
19413
19434
 
19414
- /* "obliquetree/src/tree.pyx":94
19435
+ /* "obliquetree/src/tree.pyx":95
19415
19436
  * # We'll store the sorted indices for whichever feature gave the best split
19416
19437
  * cdef int* best_sorted_indices = <int*>malloc(n_samples * sizeof(int))
19417
19438
  * cdef int* best_nan_indices = <int*>malloc(n_samples * sizeof(int)) # <<<<<<<<<<<<<<
@@ -19420,7 +19441,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19420
19441
  */
19421
19442
  __pyx_v_best_nan_indices = ((int *)malloc((__pyx_v_n_samples * (sizeof(int)))));
19422
19443
 
19423
- /* "obliquetree/src/tree.pyx":95
19444
+ /* "obliquetree/src/tree.pyx":96
19424
19445
  * cdef int* best_sorted_indices = <int*>malloc(n_samples * sizeof(int))
19425
19446
  * cdef int* best_nan_indices = <int*>malloc(n_samples * sizeof(int))
19426
19447
  * cdef int* best_categorical_indices = <int*>malloc(n_samples * sizeof(int)) # <<<<<<<<<<<<<<
@@ -19429,7 +19450,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19429
19450
  */
19430
19451
  __pyx_v_best_categorical_indices = ((int *)malloc((__pyx_v_n_samples * (sizeof(int)))));
19431
19452
 
19432
- /* "obliquetree/src/tree.pyx":97
19453
+ /* "obliquetree/src/tree.pyx":98
19433
19454
  * cdef int* best_categorical_indices = <int*>malloc(n_samples * sizeof(int))
19434
19455
  *
19435
19456
  * if best_sorted_indices == NULL: # <<<<<<<<<<<<<<
@@ -19439,7 +19460,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19439
19460
  __pyx_t_1 = (__pyx_v_best_sorted_indices == NULL);
19440
19461
  if (unlikely(__pyx_t_1)) {
19441
19462
 
19442
- /* "obliquetree/src/tree.pyx":98
19463
+ /* "obliquetree/src/tree.pyx":99
19443
19464
  *
19444
19465
  * if best_sorted_indices == NULL:
19445
19466
  * with gil: # <<<<<<<<<<<<<<
@@ -19450,17 +19471,17 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19450
19471
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
19451
19472
  /*try:*/ {
19452
19473
 
19453
- /* "obliquetree/src/tree.pyx":99
19474
+ /* "obliquetree/src/tree.pyx":100
19454
19475
  * if best_sorted_indices == NULL:
19455
19476
  * with gil:
19456
19477
  * raise MemoryError() # <<<<<<<<<<<<<<
19457
19478
  *
19458
19479
  * cdef double min_impurity = INFINITY
19459
19480
  */
19460
- PyErr_NoMemory(); __PYX_ERR(0, 99, __pyx_L17_error)
19481
+ PyErr_NoMemory(); __PYX_ERR(0, 100, __pyx_L17_error)
19461
19482
  }
19462
19483
 
19463
- /* "obliquetree/src/tree.pyx":98
19484
+ /* "obliquetree/src/tree.pyx":99
19464
19485
  *
19465
19486
  * if best_sorted_indices == NULL:
19466
19487
  * with gil: # <<<<<<<<<<<<<<
@@ -19475,7 +19496,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19475
19496
  }
19476
19497
  }
19477
19498
 
19478
- /* "obliquetree/src/tree.pyx":97
19499
+ /* "obliquetree/src/tree.pyx":98
19479
19500
  * cdef int* best_categorical_indices = <int*>malloc(n_samples * sizeof(int))
19480
19501
  *
19481
19502
  * if best_sorted_indices == NULL: # <<<<<<<<<<<<<<
@@ -19484,7 +19505,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19484
19505
  */
19485
19506
  }
19486
19507
 
19487
- /* "obliquetree/src/tree.pyx":101
19508
+ /* "obliquetree/src/tree.pyx":102
19488
19509
  * raise MemoryError()
19489
19510
  *
19490
19511
  * cdef double min_impurity = INFINITY # <<<<<<<<<<<<<<
@@ -19493,7 +19514,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19493
19514
  */
19494
19515
  __pyx_v_min_impurity = INFINITY;
19495
19516
 
19496
- /* "obliquetree/src/tree.pyx":102
19517
+ /* "obliquetree/src/tree.pyx":103
19497
19518
  *
19498
19519
  * cdef double min_impurity = INFINITY
19499
19520
  * cdef int best_feature = -1 # <<<<<<<<<<<<<<
@@ -19502,7 +19523,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19502
19523
  */
19503
19524
  __pyx_v_best_feature = -1;
19504
19525
 
19505
- /* "obliquetree/src/tree.pyx":103
19526
+ /* "obliquetree/src/tree.pyx":104
19506
19527
  * cdef double min_impurity = INFINITY
19507
19528
  * cdef int best_feature = -1
19508
19529
  * cdef double best_threshold = 0.0 # <<<<<<<<<<<<<<
@@ -19511,7 +19532,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19511
19532
  */
19512
19533
  __pyx_v_best_threshold = 0.0;
19513
19534
 
19514
- /* "obliquetree/src/tree.pyx":104
19535
+ /* "obliquetree/src/tree.pyx":105
19515
19536
  * cdef int best_feature = -1
19516
19537
  * cdef double best_threshold = 0.0
19517
19538
  * cdef int best_left_count = 0 # <<<<<<<<<<<<<<
@@ -19520,7 +19541,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19520
19541
  */
19521
19542
  __pyx_v_best_left_count = 0;
19522
19543
 
19523
- /* "obliquetree/src/tree.pyx":105
19544
+ /* "obliquetree/src/tree.pyx":106
19524
19545
  * cdef double best_threshold = 0.0
19525
19546
  * cdef int best_left_count = 0
19526
19547
  * cdef bint best_missing_go_left = True # <<<<<<<<<<<<<<
@@ -19529,7 +19550,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19529
19550
  */
19530
19551
  __pyx_v_best_missing_go_left = 1;
19531
19552
 
19532
- /* "obliquetree/src/tree.pyx":106
19553
+ /* "obliquetree/src/tree.pyx":107
19533
19554
  * cdef int best_left_count = 0
19534
19555
  * cdef bint best_missing_go_left = True
19535
19556
  * cdef int best_n_categorical = 0 # <<<<<<<<<<<<<<
@@ -19538,7 +19559,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19538
19559
  */
19539
19560
  __pyx_v_best_n_categorical = 0;
19540
19561
 
19541
- /* "obliquetree/src/tree.pyx":107
19562
+ /* "obliquetree/src/tree.pyx":108
19542
19563
  * cdef bint best_missing_go_left = True
19543
19564
  * cdef int best_n_categorical = 0
19544
19565
  * cdef double impurity_c = 0.0, threshold_c = 0.0 # <<<<<<<<<<<<<<
@@ -19548,7 +19569,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19548
19569
  __pyx_v_impurity_c = 0.0;
19549
19570
  __pyx_v_threshold_c = 0.0;
19550
19571
 
19551
- /* "obliquetree/src/tree.pyx":108
19572
+ /* "obliquetree/src/tree.pyx":109
19552
19573
  * cdef int best_n_categorical = 0
19553
19574
  * cdef double impurity_c = 0.0, threshold_c = 0.0
19554
19575
  * cdef int left_count_c, f_idx, n_features = X.shape[1] # <<<<<<<<<<<<<<
@@ -19557,7 +19578,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19557
19578
  */
19558
19579
  __pyx_v_n_features = (__pyx_v_X.shape[1]);
19559
19580
 
19560
- /* "obliquetree/src/tree.pyx":112
19581
+ /* "obliquetree/src/tree.pyx":113
19561
19582
  * cdef int* pair
19562
19583
  * cdef int n_nans, n_non_nans, best_n_nans
19563
19584
  * cdef bint missing_go_left = True # <<<<<<<<<<<<<<
@@ -19566,7 +19587,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19566
19587
  */
19567
19588
  __pyx_v_missing_go_left = 1;
19568
19589
 
19569
- /* "obliquetree/src/tree.pyx":116
19590
+ /* "obliquetree/src/tree.pyx":117
19570
19591
  * cdef int i, unique, idx
19571
19592
  *
19572
19593
  * if use_oblique: # <<<<<<<<<<<<<<
@@ -19576,7 +19597,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19576
19597
  __pyx_t_1 = (__pyx_v_use_oblique != 0);
19577
19598
  if (__pyx_t_1) {
19578
19599
 
19579
- /* "obliquetree/src/tree.pyx":117
19600
+ /* "obliquetree/src/tree.pyx":118
19580
19601
  *
19581
19602
  * if use_oblique:
19582
19603
  * node.feature_idx = best_feature = -2 # <<<<<<<<<<<<<<
@@ -19586,7 +19607,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19586
19607
  __pyx_v_node->feature_idx = -2;
19587
19608
  __pyx_v_best_feature = -2;
19588
19609
 
19589
- /* "obliquetree/src/tree.pyx":118
19610
+ /* "obliquetree/src/tree.pyx":119
19590
19611
  * if use_oblique:
19591
19612
  * node.feature_idx = best_feature = -2
19592
19613
  * best_n_nans = 0 # <<<<<<<<<<<<<<
@@ -19595,7 +19616,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19595
19616
  */
19596
19617
  __pyx_v_best_n_nans = 0;
19597
19618
 
19598
- /* "obliquetree/src/tree.pyx":120
19619
+ /* "obliquetree/src/tree.pyx":121
19599
19620
  * best_n_nans = 0
19600
19621
  *
19601
19622
  * with gil: # <<<<<<<<<<<<<<
@@ -19606,49 +19627,49 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19606
19627
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
19607
19628
  /*try:*/ {
19608
19629
 
19609
- /* "obliquetree/src/tree.pyx":125
19630
+ /* "obliquetree/src/tree.pyx":126
19610
19631
  * n_classes,
19611
19632
  * False,
19612
19633
  * X.base, # <<<<<<<<<<<<<<
19613
19634
  * y.base,
19614
19635
  * sample_weight.base,
19615
19636
  */
19616
- __pyx_t_5 = __pyx_memoryview_fromslice(__pyx_v_X, 2, (PyObject *(*)(char *)) __pyx_memview_get_double__const__, (int (*)(char *, PyObject *)) NULL, 0);; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 125, __pyx_L21_error)
19637
+ __pyx_t_5 = __pyx_memoryview_fromslice(__pyx_v_X, 2, (PyObject *(*)(char *)) __pyx_memview_get_double__const__, (int (*)(char *, PyObject *)) NULL, 0);; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 126, __pyx_L21_error)
19617
19638
  __Pyx_GOTREF(__pyx_t_5);
19618
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_base); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 125, __pyx_L21_error)
19639
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_base); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 126, __pyx_L21_error)
19619
19640
  __Pyx_GOTREF(__pyx_t_6);
19620
19641
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
19621
- if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 125, __pyx_L21_error)
19642
+ if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 126, __pyx_L21_error)
19622
19643
 
19623
- /* "obliquetree/src/tree.pyx":126
19644
+ /* "obliquetree/src/tree.pyx":127
19624
19645
  * False,
19625
19646
  * X.base,
19626
19647
  * y.base, # <<<<<<<<<<<<<<
19627
19648
  * sample_weight.base,
19628
19649
  * sample_indices,
19629
19650
  */
19630
- __pyx_t_5 = __pyx_memoryview_fromslice(__pyx_v_y, 1, (PyObject *(*)(char *)) __pyx_memview_get_double__const__, (int (*)(char *, PyObject *)) NULL, 0);; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 126, __pyx_L21_error)
19651
+ __pyx_t_5 = __pyx_memoryview_fromslice(__pyx_v_y, 1, (PyObject *(*)(char *)) __pyx_memview_get_double__const__, (int (*)(char *, PyObject *)) NULL, 0);; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 127, __pyx_L21_error)
19631
19652
  __Pyx_GOTREF(__pyx_t_5);
19632
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_base); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 126, __pyx_L21_error)
19653
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_base); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 127, __pyx_L21_error)
19633
19654
  __Pyx_GOTREF(__pyx_t_7);
19634
19655
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
19635
- if (!(likely(((__pyx_t_7) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_7, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 126, __pyx_L21_error)
19656
+ if (!(likely(((__pyx_t_7) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_7, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 127, __pyx_L21_error)
19636
19657
 
19637
- /* "obliquetree/src/tree.pyx":127
19658
+ /* "obliquetree/src/tree.pyx":128
19638
19659
  * X.base,
19639
19660
  * y.base,
19640
19661
  * sample_weight.base, # <<<<<<<<<<<<<<
19641
19662
  * sample_indices,
19642
19663
  * sort_buffer,
19643
19664
  */
19644
- __pyx_t_5 = __pyx_memoryview_fromslice(__pyx_v_sample_weight, 1, (PyObject *(*)(char *)) __pyx_memview_get_double__const__, (int (*)(char *, PyObject *)) NULL, 0);; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 127, __pyx_L21_error)
19665
+ __pyx_t_5 = __pyx_memoryview_fromslice(__pyx_v_sample_weight, 1, (PyObject *(*)(char *)) __pyx_memview_get_double__const__, (int (*)(char *, PyObject *)) NULL, 0);; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 128, __pyx_L21_error)
19645
19666
  __Pyx_GOTREF(__pyx_t_5);
19646
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_base); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 127, __pyx_L21_error)
19667
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_base); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 128, __pyx_L21_error)
19647
19668
  __Pyx_GOTREF(__pyx_t_8);
19648
19669
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
19649
- if (!(likely(((__pyx_t_8) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_8, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 127, __pyx_L21_error)
19670
+ if (!(likely(((__pyx_t_8) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_8, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 128, __pyx_L21_error)
19650
19671
 
19651
- /* "obliquetree/src/tree.pyx":121
19672
+ /* "obliquetree/src/tree.pyx":122
19652
19673
  *
19653
19674
  * with gil:
19654
19675
  * best_x, pair = analyze( # <<<<<<<<<<<<<<
@@ -19665,7 +19686,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19665
19686
  __pyx_v_pair = __pyx_t_11;
19666
19687
  }
19667
19688
 
19668
- /* "obliquetree/src/tree.pyx":120
19689
+ /* "obliquetree/src/tree.pyx":121
19669
19690
  * best_n_nans = 0
19670
19691
  *
19671
19692
  * with gil: # <<<<<<<<<<<<<<
@@ -19685,7 +19706,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19685
19706
  }
19686
19707
  }
19687
19708
 
19688
- /* "obliquetree/src/tree.pyx":143
19709
+ /* "obliquetree/src/tree.pyx":144
19689
19710
  * n_classes,
19690
19711
  * sort_buffer,
19691
19712
  * &sample_weight[0], # <<<<<<<<<<<<<<
@@ -19694,7 +19715,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19694
19715
  */
19695
19716
  __pyx_t_12 = 0;
19696
19717
 
19697
- /* "obliquetree/src/tree.pyx":144
19718
+ /* "obliquetree/src/tree.pyx":145
19698
19719
  * sort_buffer,
19699
19720
  * &sample_weight[0],
19700
19721
  * &y[0], # <<<<<<<<<<<<<<
@@ -19703,7 +19724,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19703
19724
  */
19704
19725
  __pyx_t_13 = 0;
19705
19726
 
19706
- /* "obliquetree/src/tree.pyx":139
19727
+ /* "obliquetree/src/tree.pyx":140
19707
19728
  * )
19708
19729
  *
19709
19730
  * min_impurity = calculate_impurity( # <<<<<<<<<<<<<<
@@ -19712,7 +19733,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19712
19733
  */
19713
19734
  __pyx_v_min_impurity = __pyx_f_11obliquetree_3src_6metric_calculate_impurity(0, __pyx_v_n_classes, __pyx_v_sort_buffer, (&(*((double const *) ( /* dim=0 */ ((char *) (((double const *) __pyx_v_sample_weight.data) + __pyx_t_12)) )))), (&(*((double const *) ( /* dim=0 */ ((char *) (((double const *) __pyx_v_y.data) + __pyx_t_13)) )))), __pyx_v_nan_indices, __pyx_v_categorical_stats, __pyx_v_n_samples, 0, __pyx_v_min_samples_leaf, (&__pyx_v_best_threshold), (&__pyx_v_best_left_count), (&__pyx_v_best_missing_go_left), __pyx_v_task);
19714
19735
 
19715
- /* "obliquetree/src/tree.pyx":156
19736
+ /* "obliquetree/src/tree.pyx":157
19716
19737
  *
19717
19738
  *
19718
19739
  * for i in range(n_samples): # <<<<<<<<<<<<<<
@@ -19724,7 +19745,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19724
19745
  for (__pyx_t_16 = 0; __pyx_t_16 < __pyx_t_15; __pyx_t_16+=1) {
19725
19746
  __pyx_v_i = __pyx_t_16;
19726
19747
 
19727
- /* "obliquetree/src/tree.pyx":157
19748
+ /* "obliquetree/src/tree.pyx":158
19728
19749
  *
19729
19750
  * for i in range(n_samples):
19730
19751
  * best_sorted_indices[i] = sort_buffer[i].index # <<<<<<<<<<<<<<
@@ -19735,7 +19756,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19735
19756
  (__pyx_v_best_sorted_indices[__pyx_v_i]) = __pyx_t_17;
19736
19757
  }
19737
19758
 
19738
- /* "obliquetree/src/tree.pyx":159
19759
+ /* "obliquetree/src/tree.pyx":160
19739
19760
  * best_sorted_indices[i] = sort_buffer[i].index
19740
19761
  *
19741
19762
  * with gil: # <<<<<<<<<<<<<<
@@ -19746,49 +19767,49 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19746
19767
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
19747
19768
  /*try:*/ {
19748
19769
 
19749
- /* "obliquetree/src/tree.pyx":164
19770
+ /* "obliquetree/src/tree.pyx":165
19750
19771
  * n_classes,
19751
19772
  * True,
19752
19773
  * X.base, # <<<<<<<<<<<<<<
19753
19774
  * y.base,
19754
19775
  * sample_weight.base,
19755
19776
  */
19756
- __pyx_t_8 = __pyx_memoryview_fromslice(__pyx_v_X, 2, (PyObject *(*)(char *)) __pyx_memview_get_double__const__, (int (*)(char *, PyObject *)) NULL, 0);; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 164, __pyx_L26_error)
19777
+ __pyx_t_8 = __pyx_memoryview_fromslice(__pyx_v_X, 2, (PyObject *(*)(char *)) __pyx_memview_get_double__const__, (int (*)(char *, PyObject *)) NULL, 0);; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 165, __pyx_L26_error)
19757
19778
  __Pyx_GOTREF(__pyx_t_8);
19758
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_base); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 164, __pyx_L26_error)
19779
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_base); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 165, __pyx_L26_error)
19759
19780
  __Pyx_GOTREF(__pyx_t_7);
19760
19781
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
19761
- if (!(likely(((__pyx_t_7) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_7, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 164, __pyx_L26_error)
19782
+ if (!(likely(((__pyx_t_7) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_7, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 165, __pyx_L26_error)
19762
19783
 
19763
- /* "obliquetree/src/tree.pyx":165
19784
+ /* "obliquetree/src/tree.pyx":166
19764
19785
  * True,
19765
19786
  * X.base,
19766
19787
  * y.base, # <<<<<<<<<<<<<<
19767
19788
  * sample_weight.base,
19768
19789
  * sample_indices,
19769
19790
  */
19770
- __pyx_t_8 = __pyx_memoryview_fromslice(__pyx_v_y, 1, (PyObject *(*)(char *)) __pyx_memview_get_double__const__, (int (*)(char *, PyObject *)) NULL, 0);; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 165, __pyx_L26_error)
19791
+ __pyx_t_8 = __pyx_memoryview_fromslice(__pyx_v_y, 1, (PyObject *(*)(char *)) __pyx_memview_get_double__const__, (int (*)(char *, PyObject *)) NULL, 0);; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 166, __pyx_L26_error)
19771
19792
  __Pyx_GOTREF(__pyx_t_8);
19772
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_base); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 165, __pyx_L26_error)
19793
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_base); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 166, __pyx_L26_error)
19773
19794
  __Pyx_GOTREF(__pyx_t_6);
19774
19795
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
19775
- if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 165, __pyx_L26_error)
19796
+ if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 166, __pyx_L26_error)
19776
19797
 
19777
- /* "obliquetree/src/tree.pyx":166
19798
+ /* "obliquetree/src/tree.pyx":167
19778
19799
  * X.base,
19779
19800
  * y.base,
19780
19801
  * sample_weight.base, # <<<<<<<<<<<<<<
19781
19802
  * sample_indices,
19782
19803
  * sort_buffer,
19783
19804
  */
19784
- __pyx_t_8 = __pyx_memoryview_fromslice(__pyx_v_sample_weight, 1, (PyObject *(*)(char *)) __pyx_memview_get_double__const__, (int (*)(char *, PyObject *)) NULL, 0);; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 166, __pyx_L26_error)
19805
+ __pyx_t_8 = __pyx_memoryview_fromslice(__pyx_v_sample_weight, 1, (PyObject *(*)(char *)) __pyx_memview_get_double__const__, (int (*)(char *, PyObject *)) NULL, 0);; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 167, __pyx_L26_error)
19785
19806
  __Pyx_GOTREF(__pyx_t_8);
19786
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_base); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 166, __pyx_L26_error)
19807
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_base); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 167, __pyx_L26_error)
19787
19808
  __Pyx_GOTREF(__pyx_t_5);
19788
19809
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
19789
- if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 166, __pyx_L26_error)
19810
+ if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 167, __pyx_L26_error)
19790
19811
 
19791
- /* "obliquetree/src/tree.pyx":160
19812
+ /* "obliquetree/src/tree.pyx":161
19792
19813
  *
19793
19814
  * with gil:
19794
19815
  * best_x_linear, pair_linear = analyze( # <<<<<<<<<<<<<<
@@ -19805,7 +19826,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19805
19826
  __pyx_v_pair_linear = __pyx_t_11;
19806
19827
  }
19807
19828
 
19808
- /* "obliquetree/src/tree.pyx":159
19829
+ /* "obliquetree/src/tree.pyx":160
19809
19830
  * best_sorted_indices[i] = sort_buffer[i].index
19810
19831
  *
19811
19832
  * with gil: # <<<<<<<<<<<<<<
@@ -19825,7 +19846,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19825
19846
  }
19826
19847
  }
19827
19848
 
19828
- /* "obliquetree/src/tree.pyx":182
19849
+ /* "obliquetree/src/tree.pyx":183
19829
19850
  * n_classes,
19830
19851
  * sort_buffer,
19831
19852
  * &sample_weight[0], # <<<<<<<<<<<<<<
@@ -19834,7 +19855,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19834
19855
  */
19835
19856
  __pyx_t_13 = 0;
19836
19857
 
19837
- /* "obliquetree/src/tree.pyx":183
19858
+ /* "obliquetree/src/tree.pyx":184
19838
19859
  * sort_buffer,
19839
19860
  * &sample_weight[0],
19840
19861
  * &y[0], # <<<<<<<<<<<<<<
@@ -19843,7 +19864,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19843
19864
  */
19844
19865
  __pyx_t_12 = 0;
19845
19866
 
19846
- /* "obliquetree/src/tree.pyx":178
19867
+ /* "obliquetree/src/tree.pyx":179
19847
19868
  * )
19848
19869
  *
19849
19870
  * impurity_c = calculate_impurity( # <<<<<<<<<<<<<<
@@ -19852,7 +19873,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19852
19873
  */
19853
19874
  __pyx_v_impurity_c = __pyx_f_11obliquetree_3src_6metric_calculate_impurity(0, __pyx_v_n_classes, __pyx_v_sort_buffer, (&(*((double const *) ( /* dim=0 */ ((char *) (((double const *) __pyx_v_sample_weight.data) + __pyx_t_13)) )))), (&(*((double const *) ( /* dim=0 */ ((char *) (((double const *) __pyx_v_y.data) + __pyx_t_12)) )))), __pyx_v_nan_indices, __pyx_v_categorical_stats, __pyx_v_n_samples, 0, __pyx_v_min_samples_leaf, (&__pyx_v_threshold_c), (&__pyx_v_left_count_c), (&__pyx_v_best_missing_go_left), __pyx_v_task);
19854
19875
 
19855
- /* "obliquetree/src/tree.pyx":195
19876
+ /* "obliquetree/src/tree.pyx":196
19856
19877
  *
19857
19878
  * # Eer linear split daha iyiyse
19858
19879
  * if impurity_c < min_impurity: # <<<<<<<<<<<<<<
@@ -19862,7 +19883,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19862
19883
  __pyx_t_1 = (__pyx_v_impurity_c < __pyx_v_min_impurity);
19863
19884
  if (__pyx_t_1) {
19864
19885
 
19865
- /* "obliquetree/src/tree.pyx":197
19886
+ /* "obliquetree/src/tree.pyx":198
19866
19887
  * if impurity_c < min_impurity:
19867
19888
  * # nceki non-linear sonular temizle
19868
19889
  * if node.x != NULL: # <<<<<<<<<<<<<<
@@ -19872,7 +19893,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19872
19893
  __pyx_t_1 = (__pyx_v_node->x != NULL);
19873
19894
  if (__pyx_t_1) {
19874
19895
 
19875
- /* "obliquetree/src/tree.pyx":198
19896
+ /* "obliquetree/src/tree.pyx":199
19876
19897
  * # nceki non-linear sonular temizle
19877
19898
  * if node.x != NULL:
19878
19899
  * free(node.x) # <<<<<<<<<<<<<<
@@ -19881,7 +19902,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19881
19902
  */
19882
19903
  free(__pyx_v_node->x);
19883
19904
 
19884
- /* "obliquetree/src/tree.pyx":197
19905
+ /* "obliquetree/src/tree.pyx":198
19885
19906
  * if impurity_c < min_impurity:
19886
19907
  * # nceki non-linear sonular temizle
19887
19908
  * if node.x != NULL: # <<<<<<<<<<<<<<
@@ -19890,7 +19911,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19890
19911
  */
19891
19912
  }
19892
19913
 
19893
- /* "obliquetree/src/tree.pyx":199
19914
+ /* "obliquetree/src/tree.pyx":200
19894
19915
  * if node.x != NULL:
19895
19916
  * free(node.x)
19896
19917
  * if node.pair != NULL: # <<<<<<<<<<<<<<
@@ -19900,7 +19921,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19900
19921
  __pyx_t_1 = (__pyx_v_node->pair != NULL);
19901
19922
  if (__pyx_t_1) {
19902
19923
 
19903
- /* "obliquetree/src/tree.pyx":200
19924
+ /* "obliquetree/src/tree.pyx":201
19904
19925
  * free(node.x)
19905
19926
  * if node.pair != NULL:
19906
19927
  * free(node.pair) # <<<<<<<<<<<<<<
@@ -19909,7 +19930,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19909
19930
  */
19910
19931
  free(__pyx_v_node->pair);
19911
19932
 
19912
- /* "obliquetree/src/tree.pyx":199
19933
+ /* "obliquetree/src/tree.pyx":200
19913
19934
  * if node.x != NULL:
19914
19935
  * free(node.x)
19915
19936
  * if node.pair != NULL: # <<<<<<<<<<<<<<
@@ -19918,7 +19939,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19918
19939
  */
19919
19940
  }
19920
19941
 
19921
- /* "obliquetree/src/tree.pyx":202
19942
+ /* "obliquetree/src/tree.pyx":203
19922
19943
  * free(node.pair)
19923
19944
  *
19924
19945
  * node.x = best_x_linear # <<<<<<<<<<<<<<
@@ -19927,7 +19948,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19927
19948
  */
19928
19949
  __pyx_v_node->x = __pyx_v_best_x_linear;
19929
19950
 
19930
- /* "obliquetree/src/tree.pyx":203
19951
+ /* "obliquetree/src/tree.pyx":204
19931
19952
  *
19932
19953
  * node.x = best_x_linear
19933
19954
  * node.pair = pair_linear # <<<<<<<<<<<<<<
@@ -19936,7 +19957,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19936
19957
  */
19937
19958
  __pyx_v_node->pair = __pyx_v_pair_linear;
19938
19959
 
19939
- /* "obliquetree/src/tree.pyx":206
19960
+ /* "obliquetree/src/tree.pyx":207
19940
19961
  *
19941
19962
  * # nceki malloc edilmi bellei temizle
19942
19963
  * free(best_x) # <<<<<<<<<<<<<<
@@ -19945,7 +19966,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19945
19966
  */
19946
19967
  free(__pyx_v_best_x);
19947
19968
 
19948
- /* "obliquetree/src/tree.pyx":207
19969
+ /* "obliquetree/src/tree.pyx":208
19949
19970
  * # nceki malloc edilmi bellei temizle
19950
19971
  * free(best_x)
19951
19972
  * free(pair) # <<<<<<<<<<<<<<
@@ -19954,7 +19975,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19954
19975
  */
19955
19976
  free(__pyx_v_pair);
19956
19977
 
19957
- /* "obliquetree/src/tree.pyx":209
19978
+ /* "obliquetree/src/tree.pyx":210
19958
19979
  * free(pair)
19959
19980
  *
19960
19981
  * min_impurity = impurity_c # <<<<<<<<<<<<<<
@@ -19963,7 +19984,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19963
19984
  */
19964
19985
  __pyx_v_min_impurity = __pyx_v_impurity_c;
19965
19986
 
19966
- /* "obliquetree/src/tree.pyx":210
19987
+ /* "obliquetree/src/tree.pyx":211
19967
19988
  *
19968
19989
  * min_impurity = impurity_c
19969
19990
  * best_threshold = threshold_c # <<<<<<<<<<<<<<
@@ -19972,7 +19993,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19972
19993
  */
19973
19994
  __pyx_v_best_threshold = __pyx_v_threshold_c;
19974
19995
 
19975
- /* "obliquetree/src/tree.pyx":211
19996
+ /* "obliquetree/src/tree.pyx":212
19976
19997
  * min_impurity = impurity_c
19977
19998
  * best_threshold = threshold_c
19978
19999
  * best_left_count = left_count_c # <<<<<<<<<<<<<<
@@ -19981,7 +20002,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19981
20002
  */
19982
20003
  __pyx_v_best_left_count = __pyx_v_left_count_c;
19983
20004
 
19984
- /* "obliquetree/src/tree.pyx":213
20005
+ /* "obliquetree/src/tree.pyx":214
19985
20006
  * best_left_count = left_count_c
19986
20007
  *
19987
20008
  * for i in range(n_samples): # <<<<<<<<<<<<<<
@@ -19993,7 +20014,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
19993
20014
  for (__pyx_t_16 = 0; __pyx_t_16 < __pyx_t_15; __pyx_t_16+=1) {
19994
20015
  __pyx_v_i = __pyx_t_16;
19995
20016
 
19996
- /* "obliquetree/src/tree.pyx":214
20017
+ /* "obliquetree/src/tree.pyx":215
19997
20018
  *
19998
20019
  * for i in range(n_samples):
19999
20020
  * best_sorted_indices[i] = sort_buffer[i].index # <<<<<<<<<<<<<<
@@ -20004,7 +20025,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20004
20025
  (__pyx_v_best_sorted_indices[__pyx_v_i]) = __pyx_t_17;
20005
20026
  }
20006
20027
 
20007
- /* "obliquetree/src/tree.pyx":195
20028
+ /* "obliquetree/src/tree.pyx":196
20008
20029
  *
20009
20030
  * # Eer linear split daha iyiyse
20010
20031
  * if impurity_c < min_impurity: # <<<<<<<<<<<<<<
@@ -20014,7 +20035,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20014
20035
  goto __pyx_L28;
20015
20036
  }
20016
20037
 
20017
- /* "obliquetree/src/tree.pyx":218
20038
+ /* "obliquetree/src/tree.pyx":219
20018
20039
  * else:
20019
20040
  * # Linear split daha ktyse, linear split sonularn temizle
20020
20041
  * if best_x_linear != NULL: # <<<<<<<<<<<<<<
@@ -20025,7 +20046,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20025
20046
  __pyx_t_1 = (__pyx_v_best_x_linear != NULL);
20026
20047
  if (__pyx_t_1) {
20027
20048
 
20028
- /* "obliquetree/src/tree.pyx":219
20049
+ /* "obliquetree/src/tree.pyx":220
20029
20050
  * # Linear split daha ktyse, linear split sonularn temizle
20030
20051
  * if best_x_linear != NULL:
20031
20052
  * free(best_x_linear) # <<<<<<<<<<<<<<
@@ -20034,7 +20055,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20034
20055
  */
20035
20056
  free(__pyx_v_best_x_linear);
20036
20057
 
20037
- /* "obliquetree/src/tree.pyx":218
20058
+ /* "obliquetree/src/tree.pyx":219
20038
20059
  * else:
20039
20060
  * # Linear split daha ktyse, linear split sonularn temizle
20040
20061
  * if best_x_linear != NULL: # <<<<<<<<<<<<<<
@@ -20043,7 +20064,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20043
20064
  */
20044
20065
  }
20045
20066
 
20046
- /* "obliquetree/src/tree.pyx":220
20067
+ /* "obliquetree/src/tree.pyx":221
20047
20068
  * if best_x_linear != NULL:
20048
20069
  * free(best_x_linear)
20049
20070
  * if pair_linear != NULL: # <<<<<<<<<<<<<<
@@ -20053,7 +20074,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20053
20074
  __pyx_t_1 = (__pyx_v_pair_linear != NULL);
20054
20075
  if (__pyx_t_1) {
20055
20076
 
20056
- /* "obliquetree/src/tree.pyx":221
20077
+ /* "obliquetree/src/tree.pyx":222
20057
20078
  * free(best_x_linear)
20058
20079
  * if pair_linear != NULL:
20059
20080
  * free(pair_linear) # <<<<<<<<<<<<<<
@@ -20062,7 +20083,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20062
20083
  */
20063
20084
  free(__pyx_v_pair_linear);
20064
20085
 
20065
- /* "obliquetree/src/tree.pyx":220
20086
+ /* "obliquetree/src/tree.pyx":221
20066
20087
  * if best_x_linear != NULL:
20067
20088
  * free(best_x_linear)
20068
20089
  * if pair_linear != NULL: # <<<<<<<<<<<<<<
@@ -20071,7 +20092,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20071
20092
  */
20072
20093
  }
20073
20094
 
20074
- /* "obliquetree/src/tree.pyx":223
20095
+ /* "obliquetree/src/tree.pyx":224
20075
20096
  * free(pair_linear)
20076
20097
  *
20077
20098
  * node.x = best_x # <<<<<<<<<<<<<<
@@ -20080,7 +20101,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20080
20101
  */
20081
20102
  __pyx_v_node->x = __pyx_v_best_x;
20082
20103
 
20083
- /* "obliquetree/src/tree.pyx":224
20104
+ /* "obliquetree/src/tree.pyx":225
20084
20105
  *
20085
20106
  * node.x = best_x
20086
20107
  * node.pair = pair # <<<<<<<<<<<<<<
@@ -20091,7 +20112,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20091
20112
  }
20092
20113
  __pyx_L28:;
20093
20114
 
20094
- /* "obliquetree/src/tree.pyx":116
20115
+ /* "obliquetree/src/tree.pyx":117
20095
20116
  * cdef int i, unique, idx
20096
20117
  *
20097
20118
  * if use_oblique: # <<<<<<<<<<<<<<
@@ -20100,7 +20121,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20100
20121
  */
20101
20122
  }
20102
20123
 
20103
- /* "obliquetree/src/tree.pyx":227
20124
+ /* "obliquetree/src/tree.pyx":228
20104
20125
  *
20105
20126
  *
20106
20127
  * for f_idx in range(n_features): # <<<<<<<<<<<<<<
@@ -20112,7 +20133,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20112
20133
  for (__pyx_t_16 = 0; __pyx_t_16 < __pyx_t_15; __pyx_t_16+=1) {
20113
20134
  __pyx_v_f_idx = __pyx_t_16;
20114
20135
 
20115
- /* "obliquetree/src/tree.pyx":228
20136
+ /* "obliquetree/src/tree.pyx":229
20116
20137
  *
20117
20138
  * for f_idx in range(n_features):
20118
20139
  * n_nans = 0 # <<<<<<<<<<<<<<
@@ -20121,7 +20142,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20121
20142
  */
20122
20143
  __pyx_v_n_nans = 0;
20123
20144
 
20124
- /* "obliquetree/src/tree.pyx":229
20145
+ /* "obliquetree/src/tree.pyx":230
20125
20146
  * for f_idx in range(n_features):
20126
20147
  * n_nans = 0
20127
20148
  * n_non_nans = 0 # <<<<<<<<<<<<<<
@@ -20130,7 +20151,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20130
20151
  */
20131
20152
  __pyx_v_n_non_nans = 0;
20132
20153
 
20133
- /* "obliquetree/src/tree.pyx":231
20154
+ /* "obliquetree/src/tree.pyx":232
20134
20155
  * n_non_nans = 0
20135
20156
  *
20136
20157
  * for i in range(n_samples): # <<<<<<<<<<<<<<
@@ -20142,7 +20163,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20142
20163
  for (__pyx_t_19 = 0; __pyx_t_19 < __pyx_t_18; __pyx_t_19+=1) {
20143
20164
  __pyx_v_i = __pyx_t_19;
20144
20165
 
20145
- /* "obliquetree/src/tree.pyx":232
20166
+ /* "obliquetree/src/tree.pyx":233
20146
20167
  *
20147
20168
  * for i in range(n_samples):
20148
20169
  * idx = sample_indices[i] # <<<<<<<<<<<<<<
@@ -20151,7 +20172,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20151
20172
  */
20152
20173
  __pyx_v_idx = (__pyx_v_sample_indices[__pyx_v_i]);
20153
20174
 
20154
- /* "obliquetree/src/tree.pyx":233
20175
+ /* "obliquetree/src/tree.pyx":234
20155
20176
  * for i in range(n_samples):
20156
20177
  * idx = sample_indices[i]
20157
20178
  * x_val = X[idx, f_idx] # <<<<<<<<<<<<<<
@@ -20162,7 +20183,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20162
20183
  __pyx_t_13 = __pyx_v_f_idx;
20163
20184
  __pyx_v_x_val = (*((double const *) ( /* dim=1 */ (( /* dim=0 */ ((char *) (((double const *) __pyx_v_X.data) + __pyx_t_12)) ) + __pyx_t_13 * __pyx_v_X.strides[1]) )));
20164
20185
 
20165
- /* "obliquetree/src/tree.pyx":235
20186
+ /* "obliquetree/src/tree.pyx":236
20166
20187
  * x_val = X[idx, f_idx]
20167
20188
  *
20168
20189
  * if x_val != x_val: # <<<<<<<<<<<<<<
@@ -20172,7 +20193,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20172
20193
  __pyx_t_1 = (__pyx_v_x_val != __pyx_v_x_val);
20173
20194
  if (__pyx_t_1) {
20174
20195
 
20175
- /* "obliquetree/src/tree.pyx":236
20196
+ /* "obliquetree/src/tree.pyx":237
20176
20197
  *
20177
20198
  * if x_val != x_val:
20178
20199
  * nan_indices[n_nans] = idx # <<<<<<<<<<<<<<
@@ -20181,7 +20202,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20181
20202
  */
20182
20203
  (__pyx_v_nan_indices[__pyx_v_n_nans]) = __pyx_v_idx;
20183
20204
 
20184
- /* "obliquetree/src/tree.pyx":237
20205
+ /* "obliquetree/src/tree.pyx":238
20185
20206
  * if x_val != x_val:
20186
20207
  * nan_indices[n_nans] = idx
20187
20208
  * n_nans += 1 # <<<<<<<<<<<<<<
@@ -20190,7 +20211,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20190
20211
  */
20191
20212
  __pyx_v_n_nans = (__pyx_v_n_nans + 1);
20192
20213
 
20193
- /* "obliquetree/src/tree.pyx":235
20214
+ /* "obliquetree/src/tree.pyx":236
20194
20215
  * x_val = X[idx, f_idx]
20195
20216
  *
20196
20217
  * if x_val != x_val: # <<<<<<<<<<<<<<
@@ -20200,7 +20221,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20200
20221
  goto __pyx_L39;
20201
20222
  }
20202
20223
 
20203
- /* "obliquetree/src/tree.pyx":240
20224
+ /* "obliquetree/src/tree.pyx":241
20204
20225
  *
20205
20226
  * else:
20206
20227
  * sort_buffer[n_non_nans].value = x_val # <<<<<<<<<<<<<<
@@ -20210,7 +20231,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20210
20231
  /*else*/ {
20211
20232
  (__pyx_v_sort_buffer[__pyx_v_n_non_nans]).value = __pyx_v_x_val;
20212
20233
 
20213
- /* "obliquetree/src/tree.pyx":241
20234
+ /* "obliquetree/src/tree.pyx":242
20214
20235
  * else:
20215
20236
  * sort_buffer[n_non_nans].value = x_val
20216
20237
  * sort_buffer[n_non_nans].index = idx # <<<<<<<<<<<<<<
@@ -20219,7 +20240,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20219
20240
  */
20220
20241
  (__pyx_v_sort_buffer[__pyx_v_n_non_nans]).index = __pyx_v_idx;
20221
20242
 
20222
- /* "obliquetree/src/tree.pyx":242
20243
+ /* "obliquetree/src/tree.pyx":243
20223
20244
  * sort_buffer[n_non_nans].value = x_val
20224
20245
  * sort_buffer[n_non_nans].index = idx
20225
20246
  * n_non_nans += 1 # <<<<<<<<<<<<<<
@@ -20231,7 +20252,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20231
20252
  __pyx_L39:;
20232
20253
  }
20233
20254
 
20234
- /* "obliquetree/src/tree.pyx":244
20255
+ /* "obliquetree/src/tree.pyx":245
20235
20256
  * n_non_nans += 1
20236
20257
  *
20237
20258
  * if n_non_nans < 2 * min_samples_leaf: # <<<<<<<<<<<<<<
@@ -20241,7 +20262,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20241
20262
  __pyx_t_1 = (__pyx_v_n_non_nans < (2 * __pyx_v_min_samples_leaf));
20242
20263
  if (__pyx_t_1) {
20243
20264
 
20244
- /* "obliquetree/src/tree.pyx":245
20265
+ /* "obliquetree/src/tree.pyx":246
20245
20266
  *
20246
20267
  * if n_non_nans < 2 * min_samples_leaf:
20247
20268
  * continue # <<<<<<<<<<<<<<
@@ -20250,7 +20271,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20250
20271
  */
20251
20272
  goto __pyx_L35_continue;
20252
20273
 
20253
- /* "obliquetree/src/tree.pyx":244
20274
+ /* "obliquetree/src/tree.pyx":245
20254
20275
  * n_non_nans += 1
20255
20276
  *
20256
20277
  * if n_non_nans < 2 * min_samples_leaf: # <<<<<<<<<<<<<<
@@ -20259,7 +20280,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20259
20280
  */
20260
20281
  }
20261
20282
 
20262
- /* "obliquetree/src/tree.pyx":247
20283
+ /* "obliquetree/src/tree.pyx":248
20263
20284
  * continue
20264
20285
  *
20265
20286
  * if is_integer[f_idx]: # <<<<<<<<<<<<<<
@@ -20269,7 +20290,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20269
20290
  __pyx_t_1 = ((__pyx_v_is_integer[__pyx_v_f_idx]) != 0);
20270
20291
  if (__pyx_t_1) {
20271
20292
 
20272
- /* "obliquetree/src/tree.pyx":248
20293
+ /* "obliquetree/src/tree.pyx":249
20273
20294
  *
20274
20295
  * if is_integer[f_idx]:
20275
20296
  * sort_pointer_array_count(sort_buffer, count_unique_array, count_sort_buffer, n_non_nans, max_unique_range, min_values[f_idx]) # <<<<<<<<<<<<<<
@@ -20278,7 +20299,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20278
20299
  */
20279
20300
  __pyx_f_11obliquetree_3src_5utils_sort_pointer_array_count(__pyx_v_sort_buffer, __pyx_v_count_unique_array, __pyx_v_count_sort_buffer, __pyx_v_n_non_nans, __pyx_v_max_unique_range, (__pyx_v_min_values[__pyx_v_f_idx]));
20280
20301
 
20281
- /* "obliquetree/src/tree.pyx":247
20302
+ /* "obliquetree/src/tree.pyx":248
20282
20303
  * continue
20283
20304
  *
20284
20305
  * if is_integer[f_idx]: # <<<<<<<<<<<<<<
@@ -20288,7 +20309,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20288
20309
  goto __pyx_L41;
20289
20310
  }
20290
20311
 
20291
- /* "obliquetree/src/tree.pyx":250
20312
+ /* "obliquetree/src/tree.pyx":251
20292
20313
  * sort_pointer_array_count(sort_buffer, count_unique_array, count_sort_buffer, n_non_nans, max_unique_range, min_values[f_idx])
20293
20314
  * else:
20294
20315
  * sort_pointer_array(sort_buffer, n_non_nans) # <<<<<<<<<<<<<<
@@ -20300,7 +20321,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20300
20321
  }
20301
20322
  __pyx_L41:;
20302
20323
 
20303
- /* "obliquetree/src/tree.pyx":257
20324
+ /* "obliquetree/src/tree.pyx":258
20304
20325
  * n_classes,
20305
20326
  * sort_buffer,
20306
20327
  * &sample_weight[0], # <<<<<<<<<<<<<<
@@ -20309,7 +20330,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20309
20330
  */
20310
20331
  __pyx_t_13 = 0;
20311
20332
 
20312
- /* "obliquetree/src/tree.pyx":258
20333
+ /* "obliquetree/src/tree.pyx":259
20313
20334
  * sort_buffer,
20314
20335
  * &sample_weight[0],
20315
20336
  * &y[0], # <<<<<<<<<<<<<<
@@ -20318,7 +20339,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20318
20339
  */
20319
20340
  __pyx_t_12 = 0;
20320
20341
 
20321
- /* "obliquetree/src/tree.pyx":253
20342
+ /* "obliquetree/src/tree.pyx":254
20322
20343
  *
20323
20344
  *
20324
20345
  * impurity_c = calculate_impurity( # <<<<<<<<<<<<<<
@@ -20327,7 +20348,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20327
20348
  */
20328
20349
  __pyx_v_impurity_c = __pyx_f_11obliquetree_3src_6metric_calculate_impurity((__pyx_v_is_categorical[__pyx_v_f_idx]), __pyx_v_n_classes, __pyx_v_sort_buffer, (&(*((double const *) ( /* dim=0 */ ((char *) (((double const *) __pyx_v_sample_weight.data) + __pyx_t_13)) )))), (&(*((double const *) ( /* dim=0 */ ((char *) (((double const *) __pyx_v_y.data) + __pyx_t_12)) )))), __pyx_v_nan_indices, __pyx_v_categorical_stats, __pyx_v_n_samples, __pyx_v_n_nans, __pyx_v_min_samples_leaf, (&__pyx_v_threshold_c), (&__pyx_v_left_count_c), (&__pyx_v_missing_go_left), __pyx_v_task);
20329
20350
 
20330
- /* "obliquetree/src/tree.pyx":269
20351
+ /* "obliquetree/src/tree.pyx":270
20331
20352
  * task)
20332
20353
  *
20333
20354
  * if impurity_c < min_impurity: # <<<<<<<<<<<<<<
@@ -20337,7 +20358,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20337
20358
  __pyx_t_1 = (__pyx_v_impurity_c < __pyx_v_min_impurity);
20338
20359
  if (__pyx_t_1) {
20339
20360
 
20340
- /* "obliquetree/src/tree.pyx":270
20361
+ /* "obliquetree/src/tree.pyx":271
20341
20362
  *
20342
20363
  * if impurity_c < min_impurity:
20343
20364
  * min_impurity = impurity_c # <<<<<<<<<<<<<<
@@ -20346,7 +20367,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20346
20367
  */
20347
20368
  __pyx_v_min_impurity = __pyx_v_impurity_c;
20348
20369
 
20349
- /* "obliquetree/src/tree.pyx":271
20370
+ /* "obliquetree/src/tree.pyx":272
20350
20371
  * if impurity_c < min_impurity:
20351
20372
  * min_impurity = impurity_c
20352
20373
  * best_feature = f_idx # <<<<<<<<<<<<<<
@@ -20355,7 +20376,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20355
20376
  */
20356
20377
  __pyx_v_best_feature = __pyx_v_f_idx;
20357
20378
 
20358
- /* "obliquetree/src/tree.pyx":272
20379
+ /* "obliquetree/src/tree.pyx":273
20359
20380
  * min_impurity = impurity_c
20360
20381
  * best_feature = f_idx
20361
20382
  * best_threshold = threshold_c # <<<<<<<<<<<<<<
@@ -20364,7 +20385,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20364
20385
  */
20365
20386
  __pyx_v_best_threshold = __pyx_v_threshold_c;
20366
20387
 
20367
- /* "obliquetree/src/tree.pyx":273
20388
+ /* "obliquetree/src/tree.pyx":274
20368
20389
  * best_feature = f_idx
20369
20390
  * best_threshold = threshold_c
20370
20391
  * best_left_count = left_count_c # <<<<<<<<<<<<<<
@@ -20373,7 +20394,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20373
20394
  */
20374
20395
  __pyx_v_best_left_count = __pyx_v_left_count_c;
20375
20396
 
20376
- /* "obliquetree/src/tree.pyx":274
20397
+ /* "obliquetree/src/tree.pyx":275
20377
20398
  * best_threshold = threshold_c
20378
20399
  * best_left_count = left_count_c
20379
20400
  * best_missing_go_left = missing_go_left # <<<<<<<<<<<<<<
@@ -20382,7 +20403,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20382
20403
  */
20383
20404
  __pyx_v_best_missing_go_left = __pyx_v_missing_go_left;
20384
20405
 
20385
- /* "obliquetree/src/tree.pyx":275
20406
+ /* "obliquetree/src/tree.pyx":276
20386
20407
  * best_left_count = left_count_c
20387
20408
  * best_missing_go_left = missing_go_left
20388
20409
  * best_n_nans = n_nans # <<<<<<<<<<<<<<
@@ -20391,7 +20412,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20391
20412
  */
20392
20413
  __pyx_v_best_n_nans = __pyx_v_n_nans;
20393
20414
 
20394
- /* "obliquetree/src/tree.pyx":277
20415
+ /* "obliquetree/src/tree.pyx":278
20395
20416
  * best_n_nans = n_nans
20396
20417
  *
20397
20418
  * if is_categorical[f_idx]: # <<<<<<<<<<<<<<
@@ -20401,7 +20422,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20401
20422
  __pyx_t_1 = ((__pyx_v_is_categorical[__pyx_v_f_idx]) != 0);
20402
20423
  if (__pyx_t_1) {
20403
20424
 
20404
- /* "obliquetree/src/tree.pyx":278
20425
+ /* "obliquetree/src/tree.pyx":279
20405
20426
  *
20406
20427
  * if is_categorical[f_idx]:
20407
20428
  * best_n_categorical = <int>threshold_c # <<<<<<<<<<<<<<
@@ -20410,7 +20431,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20410
20431
  */
20411
20432
  __pyx_v_best_n_categorical = ((int)__pyx_v_threshold_c);
20412
20433
 
20413
- /* "obliquetree/src/tree.pyx":280
20434
+ /* "obliquetree/src/tree.pyx":281
20414
20435
  * best_n_categorical = <int>threshold_c
20415
20436
  *
20416
20437
  * for i in range(<int>threshold_c): # <<<<<<<<<<<<<<
@@ -20422,7 +20443,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20422
20443
  for (__pyx_t_19 = 0; __pyx_t_19 < __pyx_t_18; __pyx_t_19+=1) {
20423
20444
  __pyx_v_i = __pyx_t_19;
20424
20445
 
20425
- /* "obliquetree/src/tree.pyx":281
20446
+ /* "obliquetree/src/tree.pyx":282
20426
20447
  *
20427
20448
  * for i in range(<int>threshold_c):
20428
20449
  * best_categorical_indices[i] = <int>categorical_stats[i].value # <<<<<<<<<<<<<<
@@ -20432,7 +20453,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20432
20453
  (__pyx_v_best_categorical_indices[__pyx_v_i]) = ((int)(__pyx_v_categorical_stats[__pyx_v_i]).value);
20433
20454
  }
20434
20455
 
20435
- /* "obliquetree/src/tree.pyx":277
20456
+ /* "obliquetree/src/tree.pyx":278
20436
20457
  * best_n_nans = n_nans
20437
20458
  *
20438
20459
  * if is_categorical[f_idx]: # <<<<<<<<<<<<<<
@@ -20442,7 +20463,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20442
20463
  goto __pyx_L43;
20443
20464
  }
20444
20465
 
20445
- /* "obliquetree/src/tree.pyx":284
20466
+ /* "obliquetree/src/tree.pyx":285
20446
20467
  *
20447
20468
  * else:
20448
20469
  * best_n_categorical = 0 # <<<<<<<<<<<<<<
@@ -20454,7 +20475,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20454
20475
  }
20455
20476
  __pyx_L43:;
20456
20477
 
20457
- /* "obliquetree/src/tree.pyx":286
20478
+ /* "obliquetree/src/tree.pyx":287
20458
20479
  * best_n_categorical = 0
20459
20480
  *
20460
20481
  * for i in range(n_non_nans): # <<<<<<<<<<<<<<
@@ -20466,7 +20487,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20466
20487
  for (__pyx_t_19 = 0; __pyx_t_19 < __pyx_t_18; __pyx_t_19+=1) {
20467
20488
  __pyx_v_i = __pyx_t_19;
20468
20489
 
20469
- /* "obliquetree/src/tree.pyx":287
20490
+ /* "obliquetree/src/tree.pyx":288
20470
20491
  *
20471
20492
  * for i in range(n_non_nans):
20472
20493
  * best_sorted_indices[i] = sort_buffer[i].index # <<<<<<<<<<<<<<
@@ -20477,7 +20498,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20477
20498
  (__pyx_v_best_sorted_indices[__pyx_v_i]) = __pyx_t_20;
20478
20499
  }
20479
20500
 
20480
- /* "obliquetree/src/tree.pyx":289
20501
+ /* "obliquetree/src/tree.pyx":290
20481
20502
  * best_sorted_indices[i] = sort_buffer[i].index
20482
20503
  *
20483
20504
  * memcpy(best_nan_indices, nan_indices, n_nans * sizeof(int)) # <<<<<<<<<<<<<<
@@ -20486,7 +20507,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20486
20507
  */
20487
20508
  (void)(memcpy(__pyx_v_best_nan_indices, __pyx_v_nan_indices, (__pyx_v_n_nans * (sizeof(int)))));
20488
20509
 
20489
- /* "obliquetree/src/tree.pyx":269
20510
+ /* "obliquetree/src/tree.pyx":270
20490
20511
  * task)
20491
20512
  *
20492
20513
  * if impurity_c < min_impurity: # <<<<<<<<<<<<<<
@@ -20497,7 +20518,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20497
20518
  __pyx_L35_continue:;
20498
20519
  }
20499
20520
 
20500
- /* "obliquetree/src/tree.pyx":291
20521
+ /* "obliquetree/src/tree.pyx":292
20501
20522
  * memcpy(best_nan_indices, nan_indices, n_nans * sizeof(int))
20502
20523
  *
20503
20524
  * cdef double improvement = node.impurity - min_impurity # <<<<<<<<<<<<<<
@@ -20506,7 +20527,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20506
20527
  */
20507
20528
  __pyx_v_improvement = (__pyx_v_node->impurity - __pyx_v_min_impurity);
20508
20529
 
20509
- /* "obliquetree/src/tree.pyx":292
20530
+ /* "obliquetree/src/tree.pyx":293
20510
20531
  *
20511
20532
  * cdef double improvement = node.impurity - min_impurity
20512
20533
  * cdef int right_count = n_samples - best_left_count # <<<<<<<<<<<<<<
@@ -20515,7 +20536,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20515
20536
  */
20516
20537
  __pyx_v_right_count = (__pyx_v_n_samples - __pyx_v_best_left_count);
20517
20538
 
20518
- /* "obliquetree/src/tree.pyx":294
20539
+ /* "obliquetree/src/tree.pyx":295
20519
20540
  * cdef int right_count = n_samples - best_left_count
20520
20541
  *
20521
20542
  * if ((best_feature == -1 or improvement <= 0.0) or # <<<<<<<<<<<<<<
@@ -20535,7 +20556,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20535
20556
  goto __pyx_L49_bool_binop_done;
20536
20557
  }
20537
20558
 
20538
- /* "obliquetree/src/tree.pyx":295
20559
+ /* "obliquetree/src/tree.pyx":296
20539
20560
  *
20540
20561
  * if ((best_feature == -1 or improvement <= 0.0) or
20541
20562
  * (improvement < min_impurity_decrease) or # <<<<<<<<<<<<<<
@@ -20549,7 +20570,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20549
20570
  goto __pyx_L49_bool_binop_done;
20550
20571
  }
20551
20572
 
20552
- /* "obliquetree/src/tree.pyx":296
20573
+ /* "obliquetree/src/tree.pyx":297
20553
20574
  * if ((best_feature == -1 or improvement <= 0.0) or
20554
20575
  * (improvement < min_impurity_decrease) or
20555
20576
  * (best_left_count == 0 or right_count == 0)): # <<<<<<<<<<<<<<
@@ -20566,7 +20587,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20566
20587
  __pyx_t_1 = __pyx_t_4;
20567
20588
  __pyx_L49_bool_binop_done:;
20568
20589
 
20569
- /* "obliquetree/src/tree.pyx":294
20590
+ /* "obliquetree/src/tree.pyx":295
20570
20591
  * cdef int right_count = n_samples - best_left_count
20571
20592
  *
20572
20593
  * if ((best_feature == -1 or improvement <= 0.0) or # <<<<<<<<<<<<<<
@@ -20575,7 +20596,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20575
20596
  */
20576
20597
  if (__pyx_t_1) {
20577
20598
 
20578
- /* "obliquetree/src/tree.pyx":298
20599
+ /* "obliquetree/src/tree.pyx":299
20579
20600
  * (best_left_count == 0 or right_count == 0)):
20580
20601
  *
20581
20602
  * free(best_sorted_indices) # <<<<<<<<<<<<<<
@@ -20584,7 +20605,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20584
20605
  */
20585
20606
  free(__pyx_v_best_sorted_indices);
20586
20607
 
20587
- /* "obliquetree/src/tree.pyx":299
20608
+ /* "obliquetree/src/tree.pyx":300
20588
20609
  *
20589
20610
  * free(best_sorted_indices)
20590
20611
  * free(best_nan_indices) # <<<<<<<<<<<<<<
@@ -20593,7 +20614,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20593
20614
  */
20594
20615
  free(__pyx_v_best_nan_indices);
20595
20616
 
20596
- /* "obliquetree/src/tree.pyx":300
20617
+ /* "obliquetree/src/tree.pyx":301
20597
20618
  * free(best_sorted_indices)
20598
20619
  * free(best_nan_indices)
20599
20620
  * free(best_categorical_indices) # <<<<<<<<<<<<<<
@@ -20602,7 +20623,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20602
20623
  */
20603
20624
  free(__pyx_v_best_categorical_indices);
20604
20625
 
20605
- /* "obliquetree/src/tree.pyx":301
20626
+ /* "obliquetree/src/tree.pyx":302
20606
20627
  * free(best_nan_indices)
20607
20628
  * free(best_categorical_indices)
20608
20629
  * return node # <<<<<<<<<<<<<<
@@ -20612,7 +20633,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20612
20633
  __pyx_r = __pyx_v_node;
20613
20634
  goto __pyx_L0;
20614
20635
 
20615
- /* "obliquetree/src/tree.pyx":294
20636
+ /* "obliquetree/src/tree.pyx":295
20616
20637
  * cdef int right_count = n_samples - best_left_count
20617
20638
  *
20618
20639
  * if ((best_feature == -1 or improvement <= 0.0) or # <<<<<<<<<<<<<<
@@ -20621,7 +20642,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20621
20642
  */
20622
20643
  }
20623
20644
 
20624
- /* "obliquetree/src/tree.pyx":303
20645
+ /* "obliquetree/src/tree.pyx":304
20625
20646
  * return node
20626
20647
  *
20627
20648
  * cdef int* left_indices = <int*>malloc(best_left_count * sizeof(int)) # <<<<<<<<<<<<<<
@@ -20630,7 +20651,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20630
20651
  */
20631
20652
  __pyx_v_left_indices = ((int *)malloc((__pyx_v_best_left_count * (sizeof(int)))));
20632
20653
 
20633
- /* "obliquetree/src/tree.pyx":304
20654
+ /* "obliquetree/src/tree.pyx":305
20634
20655
  *
20635
20656
  * cdef int* left_indices = <int*>malloc(best_left_count * sizeof(int))
20636
20657
  * cdef int* right_indices = <int*>malloc(right_count * sizeof(int)) # <<<<<<<<<<<<<<
@@ -20639,7 +20660,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20639
20660
  */
20640
20661
  __pyx_v_right_indices = ((int *)malloc((__pyx_v_right_count * (sizeof(int)))));
20641
20662
 
20642
- /* "obliquetree/src/tree.pyx":306
20663
+ /* "obliquetree/src/tree.pyx":307
20643
20664
  * cdef int* right_indices = <int*>malloc(right_count * sizeof(int))
20644
20665
  *
20645
20666
  * if left_indices == NULL or right_indices == NULL: # <<<<<<<<<<<<<<
@@ -20657,7 +20678,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20657
20678
  __pyx_L55_bool_binop_done:;
20658
20679
  if (__pyx_t_1) {
20659
20680
 
20660
- /* "obliquetree/src/tree.pyx":307
20681
+ /* "obliquetree/src/tree.pyx":308
20661
20682
  *
20662
20683
  * if left_indices == NULL or right_indices == NULL:
20663
20684
  * if left_indices != NULL: # <<<<<<<<<<<<<<
@@ -20667,7 +20688,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20667
20688
  __pyx_t_1 = (__pyx_v_left_indices != NULL);
20668
20689
  if (__pyx_t_1) {
20669
20690
 
20670
- /* "obliquetree/src/tree.pyx":308
20691
+ /* "obliquetree/src/tree.pyx":309
20671
20692
  * if left_indices == NULL or right_indices == NULL:
20672
20693
  * if left_indices != NULL:
20673
20694
  * free(left_indices) # <<<<<<<<<<<<<<
@@ -20676,7 +20697,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20676
20697
  */
20677
20698
  free(__pyx_v_left_indices);
20678
20699
 
20679
- /* "obliquetree/src/tree.pyx":307
20700
+ /* "obliquetree/src/tree.pyx":308
20680
20701
  *
20681
20702
  * if left_indices == NULL or right_indices == NULL:
20682
20703
  * if left_indices != NULL: # <<<<<<<<<<<<<<
@@ -20685,7 +20706,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20685
20706
  */
20686
20707
  }
20687
20708
 
20688
- /* "obliquetree/src/tree.pyx":309
20709
+ /* "obliquetree/src/tree.pyx":310
20689
20710
  * if left_indices != NULL:
20690
20711
  * free(left_indices)
20691
20712
  * if right_indices != NULL: # <<<<<<<<<<<<<<
@@ -20695,7 +20716,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20695
20716
  __pyx_t_1 = (__pyx_v_right_indices != NULL);
20696
20717
  if (__pyx_t_1) {
20697
20718
 
20698
- /* "obliquetree/src/tree.pyx":310
20719
+ /* "obliquetree/src/tree.pyx":311
20699
20720
  * free(left_indices)
20700
20721
  * if right_indices != NULL:
20701
20722
  * free(right_indices) # <<<<<<<<<<<<<<
@@ -20704,7 +20725,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20704
20725
  */
20705
20726
  free(__pyx_v_right_indices);
20706
20727
 
20707
- /* "obliquetree/src/tree.pyx":309
20728
+ /* "obliquetree/src/tree.pyx":310
20708
20729
  * if left_indices != NULL:
20709
20730
  * free(left_indices)
20710
20731
  * if right_indices != NULL: # <<<<<<<<<<<<<<
@@ -20713,7 +20734,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20713
20734
  */
20714
20735
  }
20715
20736
 
20716
- /* "obliquetree/src/tree.pyx":311
20737
+ /* "obliquetree/src/tree.pyx":312
20717
20738
  * if right_indices != NULL:
20718
20739
  * free(right_indices)
20719
20740
  * free(best_sorted_indices) # <<<<<<<<<<<<<<
@@ -20722,7 +20743,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20722
20743
  */
20723
20744
  free(__pyx_v_best_sorted_indices);
20724
20745
 
20725
- /* "obliquetree/src/tree.pyx":312
20746
+ /* "obliquetree/src/tree.pyx":313
20726
20747
  * free(right_indices)
20727
20748
  * free(best_sorted_indices)
20728
20749
  * free(best_nan_indices) # <<<<<<<<<<<<<<
@@ -20731,7 +20752,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20731
20752
  */
20732
20753
  free(__pyx_v_best_nan_indices);
20733
20754
 
20734
- /* "obliquetree/src/tree.pyx":313
20755
+ /* "obliquetree/src/tree.pyx":314
20735
20756
  * free(best_sorted_indices)
20736
20757
  * free(best_nan_indices)
20737
20758
  * free(best_categorical_indices) # <<<<<<<<<<<<<<
@@ -20740,7 +20761,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20740
20761
  */
20741
20762
  free(__pyx_v_best_categorical_indices);
20742
20763
 
20743
- /* "obliquetree/src/tree.pyx":314
20764
+ /* "obliquetree/src/tree.pyx":315
20744
20765
  * free(best_nan_indices)
20745
20766
  * free(best_categorical_indices)
20746
20767
  * with gil: # <<<<<<<<<<<<<<
@@ -20751,17 +20772,17 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20751
20772
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
20752
20773
  /*try:*/ {
20753
20774
 
20754
- /* "obliquetree/src/tree.pyx":315
20775
+ /* "obliquetree/src/tree.pyx":316
20755
20776
  * free(best_categorical_indices)
20756
20777
  * with gil:
20757
20778
  * raise MemoryError() # <<<<<<<<<<<<<<
20758
20779
  *
20759
20780
  * # Mark node as split
20760
20781
  */
20761
- PyErr_NoMemory(); __PYX_ERR(0, 315, __pyx_L60_error)
20782
+ PyErr_NoMemory(); __PYX_ERR(0, 316, __pyx_L60_error)
20762
20783
  }
20763
20784
 
20764
- /* "obliquetree/src/tree.pyx":314
20785
+ /* "obliquetree/src/tree.pyx":315
20765
20786
  * free(best_nan_indices)
20766
20787
  * free(best_categorical_indices)
20767
20788
  * with gil: # <<<<<<<<<<<<<<
@@ -20776,7 +20797,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20776
20797
  }
20777
20798
  }
20778
20799
 
20779
- /* "obliquetree/src/tree.pyx":306
20800
+ /* "obliquetree/src/tree.pyx":307
20780
20801
  * cdef int* right_indices = <int*>malloc(right_count * sizeof(int))
20781
20802
  *
20782
20803
  * if left_indices == NULL or right_indices == NULL: # <<<<<<<<<<<<<<
@@ -20785,7 +20806,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20785
20806
  */
20786
20807
  }
20787
20808
 
20788
- /* "obliquetree/src/tree.pyx":318
20809
+ /* "obliquetree/src/tree.pyx":319
20789
20810
  *
20790
20811
  * # Mark node as split
20791
20812
  * node.is_leaf = False # <<<<<<<<<<<<<<
@@ -20794,7 +20815,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20794
20815
  */
20795
20816
  __pyx_v_node->is_leaf = 0;
20796
20817
 
20797
- /* "obliquetree/src/tree.pyx":319
20818
+ /* "obliquetree/src/tree.pyx":320
20798
20819
  * # Mark node as split
20799
20820
  * node.is_leaf = False
20800
20821
  * node.feature_idx = best_feature # <<<<<<<<<<<<<<
@@ -20803,7 +20824,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20803
20824
  */
20804
20825
  __pyx_v_node->feature_idx = __pyx_v_best_feature;
20805
20826
 
20806
- /* "obliquetree/src/tree.pyx":320
20827
+ /* "obliquetree/src/tree.pyx":321
20807
20828
  * node.is_leaf = False
20808
20829
  * node.feature_idx = best_feature
20809
20830
  * node.threshold = best_threshold # <<<<<<<<<<<<<<
@@ -20812,7 +20833,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20812
20833
  */
20813
20834
  __pyx_v_node->threshold = __pyx_v_best_threshold;
20814
20835
 
20815
- /* "obliquetree/src/tree.pyx":321
20836
+ /* "obliquetree/src/tree.pyx":322
20816
20837
  * node.feature_idx = best_feature
20817
20838
  * node.threshold = best_threshold
20818
20839
  * node.missing_go_left = best_missing_go_left # <<<<<<<<<<<<<<
@@ -20821,7 +20842,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20821
20842
  */
20822
20843
  __pyx_v_node->missing_go_left = __pyx_v_best_missing_go_left;
20823
20844
 
20824
- /* "obliquetree/src/tree.pyx":322
20845
+ /* "obliquetree/src/tree.pyx":323
20825
20846
  * node.threshold = best_threshold
20826
20847
  * node.missing_go_left = best_missing_go_left
20827
20848
  * node.n_category = best_n_categorical # <<<<<<<<<<<<<<
@@ -20830,7 +20851,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20830
20851
  */
20831
20852
  __pyx_v_node->n_category = __pyx_v_best_n_categorical;
20832
20853
 
20833
- /* "obliquetree/src/tree.pyx":324
20854
+ /* "obliquetree/src/tree.pyx":325
20834
20855
  * node.n_category = best_n_categorical
20835
20856
  *
20836
20857
  * if node.n_category != 0: # <<<<<<<<<<<<<<
@@ -20840,7 +20861,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20840
20861
  __pyx_t_1 = (__pyx_v_node->n_category != 0);
20841
20862
  if (__pyx_t_1) {
20842
20863
 
20843
- /* "obliquetree/src/tree.pyx":325
20864
+ /* "obliquetree/src/tree.pyx":326
20844
20865
  *
20845
20866
  * if node.n_category != 0:
20846
20867
  * node.categories_go_left = <int*>malloc(node.n_category * sizeof(int)) # <<<<<<<<<<<<<<
@@ -20849,7 +20870,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20849
20870
  */
20850
20871
  __pyx_v_node->categories_go_left = ((int *)malloc((__pyx_v_node->n_category * (sizeof(int)))));
20851
20872
 
20852
- /* "obliquetree/src/tree.pyx":327
20873
+ /* "obliquetree/src/tree.pyx":328
20853
20874
  * node.categories_go_left = <int*>malloc(node.n_category * sizeof(int))
20854
20875
  *
20855
20876
  * for i in range(node.n_category): # <<<<<<<<<<<<<<
@@ -20861,7 +20882,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20861
20882
  for (__pyx_t_16 = 0; __pyx_t_16 < __pyx_t_15; __pyx_t_16+=1) {
20862
20883
  __pyx_v_i = __pyx_t_16;
20863
20884
 
20864
- /* "obliquetree/src/tree.pyx":328
20885
+ /* "obliquetree/src/tree.pyx":329
20865
20886
  *
20866
20887
  * for i in range(node.n_category):
20867
20888
  * node.categories_go_left[i] = best_categorical_indices[i] # <<<<<<<<<<<<<<
@@ -20871,7 +20892,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20871
20892
  (__pyx_v_node->categories_go_left[__pyx_v_i]) = (__pyx_v_best_categorical_indices[__pyx_v_i]);
20872
20893
  }
20873
20894
 
20874
- /* "obliquetree/src/tree.pyx":324
20895
+ /* "obliquetree/src/tree.pyx":325
20875
20896
  * node.n_category = best_n_categorical
20876
20897
  *
20877
20898
  * if node.n_category != 0: # <<<<<<<<<<<<<<
@@ -20880,7 +20901,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20880
20901
  */
20881
20902
  }
20882
20903
 
20883
- /* "obliquetree/src/tree.pyx":331
20904
+ /* "obliquetree/src/tree.pyx":332
20884
20905
  *
20885
20906
  *
20886
20907
  * populate_indices( # <<<<<<<<<<<<<<
@@ -20889,7 +20910,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20889
20910
  */
20890
20911
  __pyx_f_11obliquetree_3src_5utils_populate_indices(__pyx_v_best_missing_go_left, __pyx_v_n_samples, __pyx_v_best_left_count, __pyx_v_right_count, __pyx_v_best_n_nans, __pyx_v_left_indices, __pyx_v_right_indices, __pyx_v_best_sorted_indices, __pyx_v_best_nan_indices);
20891
20912
 
20892
- /* "obliquetree/src/tree.pyx":342
20913
+ /* "obliquetree/src/tree.pyx":343
20893
20914
  * best_nan_indices)
20894
20915
  *
20895
20916
  * free(best_sorted_indices) # <<<<<<<<<<<<<<
@@ -20898,7 +20919,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20898
20919
  */
20899
20920
  free(__pyx_v_best_sorted_indices);
20900
20921
 
20901
- /* "obliquetree/src/tree.pyx":343
20922
+ /* "obliquetree/src/tree.pyx":344
20902
20923
  *
20903
20924
  * free(best_sorted_indices)
20904
20925
  * free(best_nan_indices) # <<<<<<<<<<<<<<
@@ -20907,7 +20928,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20907
20928
  */
20908
20929
  free(__pyx_v_best_nan_indices);
20909
20930
 
20910
- /* "obliquetree/src/tree.pyx":344
20931
+ /* "obliquetree/src/tree.pyx":345
20911
20932
  * free(best_sorted_indices)
20912
20933
  * free(best_nan_indices)
20913
20934
  * free(best_categorical_indices) # <<<<<<<<<<<<<<
@@ -20916,7 +20937,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20916
20937
  */
20917
20938
  free(__pyx_v_best_categorical_indices);
20918
20939
 
20919
- /* "obliquetree/src/tree.pyx":347
20940
+ /* "obliquetree/src/tree.pyx":348
20920
20941
  *
20921
20942
  * # Recurse left
20922
20943
  * node.left = build_tree_recursive( # <<<<<<<<<<<<<<
@@ -20925,7 +20946,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20925
20946
  */
20926
20947
  __pyx_v_node->left = __pyx_f_11obliquetree_3src_4tree_build_tree_recursive(__pyx_v_task, __pyx_v_n_classes, __pyx_v_X, __pyx_v_y, (__pyx_v_depth + 1), __pyx_v_max_depth, __pyx_v_min_samples_leaf, __pyx_v_min_samples_split, __pyx_v_min_impurity_decrease, __pyx_v_sort_buffer, __pyx_v_left_indices, __pyx_v_nan_indices, __pyx_v_best_left_count, __pyx_v_n_pair, __pyx_v_gamma, __pyx_v_max_iter, __pyx_v_relative_change, __pyx_v_rng, __pyx_v_use_oblique, __pyx_v_is_categorical, __pyx_v_categorical_stats, __pyx_v_sample_weight, __pyx_v_min_values, __pyx_v_max_unique_range, __pyx_v_count_unique_array, __pyx_v_count_sort_buffer, __pyx_v_is_integer);
20927
20948
 
20928
- /* "obliquetree/src/tree.pyx":377
20949
+ /* "obliquetree/src/tree.pyx":378
20929
20950
  *
20930
20951
  * # Recurse right
20931
20952
  * node.right = build_tree_recursive( # <<<<<<<<<<<<<<
@@ -20934,7 +20955,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20934
20955
  */
20935
20956
  __pyx_v_node->right = __pyx_f_11obliquetree_3src_4tree_build_tree_recursive(__pyx_v_task, __pyx_v_n_classes, __pyx_v_X, __pyx_v_y, (__pyx_v_depth + 1), __pyx_v_max_depth, __pyx_v_min_samples_leaf, __pyx_v_min_samples_split, __pyx_v_min_impurity_decrease, __pyx_v_sort_buffer, __pyx_v_right_indices, __pyx_v_nan_indices, __pyx_v_right_count, __pyx_v_n_pair, __pyx_v_gamma, __pyx_v_max_iter, __pyx_v_relative_change, __pyx_v_rng, __pyx_v_use_oblique, __pyx_v_is_categorical, __pyx_v_categorical_stats, __pyx_v_sample_weight, __pyx_v_min_values, __pyx_v_max_unique_range, __pyx_v_count_unique_array, __pyx_v_count_sort_buffer, __pyx_v_is_integer);
20936
20957
 
20937
- /* "obliquetree/src/tree.pyx":406
20958
+ /* "obliquetree/src/tree.pyx":407
20938
20959
  * )
20939
20960
  *
20940
20961
  * free(left_indices) # <<<<<<<<<<<<<<
@@ -20943,7 +20964,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20943
20964
  */
20944
20965
  free(__pyx_v_left_indices);
20945
20966
 
20946
- /* "obliquetree/src/tree.pyx":407
20967
+ /* "obliquetree/src/tree.pyx":408
20947
20968
  *
20948
20969
  * free(left_indices)
20949
20970
  * free(right_indices) # <<<<<<<<<<<<<<
@@ -20952,7 +20973,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20952
20973
  */
20953
20974
  free(__pyx_v_right_indices);
20954
20975
 
20955
- /* "obliquetree/src/tree.pyx":409
20976
+ /* "obliquetree/src/tree.pyx":410
20956
20977
  * free(right_indices)
20957
20978
  *
20958
20979
  * return node # <<<<<<<<<<<<<<
@@ -20985,7 +21006,7 @@ static struct __pyx_t_11obliquetree_3src_4tree_TreeNode *__pyx_f_11obliquetree_3
20985
21006
  return __pyx_r;
20986
21007
  }
20987
21008
 
20988
- /* "obliquetree/src/tree.pyx":411
21009
+ /* "obliquetree/src/tree.pyx":412
20989
21010
  * return node
20990
21011
  *
20991
21012
  * cdef void predict( # <<<<<<<<<<<<<<
@@ -21016,7 +21037,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21016
21037
  int __pyx_t_9;
21017
21038
  int __pyx_t_10;
21018
21039
 
21019
- /* "obliquetree/src/tree.pyx":424
21040
+ /* "obliquetree/src/tree.pyx":425
21020
21041
  * cdef int i, j, idx
21021
21042
  *
21022
21043
  * if node.is_leaf: # <<<<<<<<<<<<<<
@@ -21026,7 +21047,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21026
21047
  __pyx_t_1 = (__pyx_v_node->is_leaf != 0);
21027
21048
  if (__pyx_t_1) {
21028
21049
 
21029
- /* "obliquetree/src/tree.pyx":425
21050
+ /* "obliquetree/src/tree.pyx":426
21030
21051
  *
21031
21052
  * if node.is_leaf:
21032
21053
  * if n_classes <= 2: # <<<<<<<<<<<<<<
@@ -21036,7 +21057,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21036
21057
  __pyx_t_1 = (__pyx_v_n_classes <= 2);
21037
21058
  if (__pyx_t_1) {
21038
21059
 
21039
- /* "obliquetree/src/tree.pyx":427
21060
+ /* "obliquetree/src/tree.pyx":428
21040
21061
  * if n_classes <= 2:
21041
21062
  *
21042
21063
  * for i in range(n_samples): # <<<<<<<<<<<<<<
@@ -21048,7 +21069,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21048
21069
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
21049
21070
  __pyx_v_i = __pyx_t_4;
21050
21071
 
21051
- /* "obliquetree/src/tree.pyx":428
21072
+ /* "obliquetree/src/tree.pyx":429
21052
21073
  *
21053
21074
  * for i in range(n_samples):
21054
21075
  * out[indices[i], 0] = node.value # <<<<<<<<<<<<<<
@@ -21061,7 +21082,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21061
21082
  *((double *) ( /* dim=1 */ ((char *) (((double *) ( /* dim=0 */ (__pyx_v_out.data + __pyx_t_6 * __pyx_v_out.strides[0]) )) + __pyx_t_7)) )) = __pyx_t_5;
21062
21083
  }
21063
21084
 
21064
- /* "obliquetree/src/tree.pyx":425
21085
+ /* "obliquetree/src/tree.pyx":426
21065
21086
  *
21066
21087
  * if node.is_leaf:
21067
21088
  * if n_classes <= 2: # <<<<<<<<<<<<<<
@@ -21071,7 +21092,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21071
21092
  goto __pyx_L4;
21072
21093
  }
21073
21094
 
21074
- /* "obliquetree/src/tree.pyx":431
21095
+ /* "obliquetree/src/tree.pyx":432
21075
21096
  *
21076
21097
  * else:
21077
21098
  * for i in range(n_samples): # <<<<<<<<<<<<<<
@@ -21084,7 +21105,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21084
21105
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
21085
21106
  __pyx_v_i = __pyx_t_4;
21086
21107
 
21087
- /* "obliquetree/src/tree.pyx":432
21108
+ /* "obliquetree/src/tree.pyx":433
21088
21109
  * else:
21089
21110
  * for i in range(n_samples):
21090
21111
  * idx = indices[i] # <<<<<<<<<<<<<<
@@ -21093,7 +21114,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21093
21114
  */
21094
21115
  __pyx_v_idx = (__pyx_v_indices[__pyx_v_i]);
21095
21116
 
21096
- /* "obliquetree/src/tree.pyx":433
21117
+ /* "obliquetree/src/tree.pyx":434
21097
21118
  * for i in range(n_samples):
21098
21119
  * idx = indices[i]
21099
21120
  * for j in range(n_classes): # <<<<<<<<<<<<<<
@@ -21105,7 +21126,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21105
21126
  for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
21106
21127
  __pyx_v_j = __pyx_t_10;
21107
21128
 
21108
- /* "obliquetree/src/tree.pyx":434
21129
+ /* "obliquetree/src/tree.pyx":435
21109
21130
  * idx = indices[i]
21110
21131
  * for j in range(n_classes):
21111
21132
  * out[idx, j] = node.value_multiclass[j] # <<<<<<<<<<<<<<
@@ -21120,7 +21141,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21120
21141
  }
21121
21142
  __pyx_L4:;
21122
21143
 
21123
- /* "obliquetree/src/tree.pyx":436
21144
+ /* "obliquetree/src/tree.pyx":437
21124
21145
  * out[idx, j] = node.value_multiclass[j]
21125
21146
  *
21126
21147
  * return # <<<<<<<<<<<<<<
@@ -21129,7 +21150,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21129
21150
  */
21130
21151
  goto __pyx_L0;
21131
21152
 
21132
- /* "obliquetree/src/tree.pyx":424
21153
+ /* "obliquetree/src/tree.pyx":425
21133
21154
  * cdef int i, j, idx
21134
21155
  *
21135
21156
  * if node.is_leaf: # <<<<<<<<<<<<<<
@@ -21138,7 +21159,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21138
21159
  */
21139
21160
  }
21140
21161
 
21141
- /* "obliquetree/src/tree.pyx":439
21162
+ /* "obliquetree/src/tree.pyx":440
21142
21163
  *
21143
21164
  *
21144
21165
  * cdef int left_count = 0 # <<<<<<<<<<<<<<
@@ -21147,7 +21168,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21147
21168
  */
21148
21169
  __pyx_v_left_count = 0;
21149
21170
 
21150
- /* "obliquetree/src/tree.pyx":440
21171
+ /* "obliquetree/src/tree.pyx":441
21151
21172
  *
21152
21173
  * cdef int left_count = 0
21153
21174
  * cdef int right_count = 0 # <<<<<<<<<<<<<<
@@ -21156,7 +21177,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21156
21177
  */
21157
21178
  __pyx_v_right_count = 0;
21158
21179
 
21159
- /* "obliquetree/src/tree.pyx":446
21180
+ /* "obliquetree/src/tree.pyx":447
21160
21181
  * cdef bint goes_left
21161
21182
  *
21162
21183
  * cdef int* left_indices = <int*>malloc(n_samples * sizeof(int)) # <<<<<<<<<<<<<<
@@ -21165,7 +21186,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21165
21186
  */
21166
21187
  __pyx_v_left_indices = ((int *)malloc((__pyx_v_n_samples * (sizeof(int)))));
21167
21188
 
21168
- /* "obliquetree/src/tree.pyx":447
21189
+ /* "obliquetree/src/tree.pyx":448
21169
21190
  *
21170
21191
  * cdef int* left_indices = <int*>malloc(n_samples * sizeof(int))
21171
21192
  * cdef int* right_indices = <int*>malloc(n_samples * sizeof(int)) # <<<<<<<<<<<<<<
@@ -21174,7 +21195,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21174
21195
  */
21175
21196
  __pyx_v_right_indices = ((int *)malloc((__pyx_v_n_samples * (sizeof(int)))));
21176
21197
 
21177
- /* "obliquetree/src/tree.pyx":449
21198
+ /* "obliquetree/src/tree.pyx":450
21178
21199
  * cdef int* right_indices = <int*>malloc(n_samples * sizeof(int))
21179
21200
  *
21180
21201
  * for i in range(n_samples): # <<<<<<<<<<<<<<
@@ -21186,7 +21207,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21186
21207
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
21187
21208
  __pyx_v_i = __pyx_t_4;
21188
21209
 
21189
- /* "obliquetree/src/tree.pyx":450
21210
+ /* "obliquetree/src/tree.pyx":451
21190
21211
  *
21191
21212
  * for i in range(n_samples):
21192
21213
  * ind = indices[i] # <<<<<<<<<<<<<<
@@ -21195,7 +21216,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21195
21216
  */
21196
21217
  __pyx_v_ind = (__pyx_v_indices[__pyx_v_i]);
21197
21218
 
21198
- /* "obliquetree/src/tree.pyx":452
21219
+ /* "obliquetree/src/tree.pyx":453
21199
21220
  * ind = indices[i]
21200
21221
  *
21201
21222
  * if node.feature_idx == -2: # Oblique split # <<<<<<<<<<<<<<
@@ -21205,7 +21226,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21205
21226
  __pyx_t_1 = (__pyx_v_node->feature_idx == -2L);
21206
21227
  if (__pyx_t_1) {
21207
21228
 
21208
- /* "obliquetree/src/tree.pyx":453
21229
+ /* "obliquetree/src/tree.pyx":454
21209
21230
  *
21210
21231
  * if node.feature_idx == -2: # Oblique split
21211
21232
  * calc = 0.0 # <<<<<<<<<<<<<<
@@ -21214,7 +21235,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21214
21235
  */
21215
21236
  __pyx_v_calc = 0.0;
21216
21237
 
21217
- /* "obliquetree/src/tree.pyx":454
21238
+ /* "obliquetree/src/tree.pyx":455
21218
21239
  * if node.feature_idx == -2: # Oblique split
21219
21240
  * calc = 0.0
21220
21241
  * for j in range(node.n_pair): # <<<<<<<<<<<<<<
@@ -21226,7 +21247,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21226
21247
  for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
21227
21248
  __pyx_v_j = __pyx_t_10;
21228
21249
 
21229
- /* "obliquetree/src/tree.pyx":455
21250
+ /* "obliquetree/src/tree.pyx":456
21230
21251
  * calc = 0.0
21231
21252
  * for j in range(node.n_pair):
21232
21253
  * x_val = X[ind, node.pair[j]] # <<<<<<<<<<<<<<
@@ -21237,7 +21258,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21237
21258
  __pyx_t_7 = (__pyx_v_node->pair[__pyx_v_j]);
21238
21259
  __pyx_v_x_val = (*((double const *) ( /* dim=1 */ (( /* dim=0 */ ((char *) (((double const *) __pyx_v_X.data) + __pyx_t_6)) ) + __pyx_t_7 * __pyx_v_X.strides[1]) )));
21239
21260
 
21240
- /* "obliquetree/src/tree.pyx":456
21261
+ /* "obliquetree/src/tree.pyx":457
21241
21262
  * for j in range(node.n_pair):
21242
21263
  * x_val = X[ind, node.pair[j]]
21243
21264
  * calc += x_val * node.x[j] # <<<<<<<<<<<<<<
@@ -21247,7 +21268,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21247
21268
  __pyx_v_calc = (__pyx_v_calc + (__pyx_v_x_val * (__pyx_v_node->x[__pyx_v_j])));
21248
21269
  }
21249
21270
 
21250
- /* "obliquetree/src/tree.pyx":458
21271
+ /* "obliquetree/src/tree.pyx":459
21251
21272
  * calc += x_val * node.x[j]
21252
21273
  *
21253
21274
  * goes_left = calc <= node.threshold # <<<<<<<<<<<<<<
@@ -21256,7 +21277,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21256
21277
  */
21257
21278
  __pyx_v_goes_left = (__pyx_v_calc <= __pyx_v_node->threshold);
21258
21279
 
21259
- /* "obliquetree/src/tree.pyx":452
21280
+ /* "obliquetree/src/tree.pyx":453
21260
21281
  * ind = indices[i]
21261
21282
  *
21262
21283
  * if node.feature_idx == -2: # Oblique split # <<<<<<<<<<<<<<
@@ -21266,7 +21287,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21266
21287
  goto __pyx_L13;
21267
21288
  }
21268
21289
 
21269
- /* "obliquetree/src/tree.pyx":460
21290
+ /* "obliquetree/src/tree.pyx":461
21270
21291
  * goes_left = calc <= node.threshold
21271
21292
  *
21272
21293
  * elif node.n_category > 0: # Kategorik split # <<<<<<<<<<<<<<
@@ -21276,7 +21297,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21276
21297
  __pyx_t_1 = (__pyx_v_node->n_category > 0);
21277
21298
  if (__pyx_t_1) {
21278
21299
 
21279
- /* "obliquetree/src/tree.pyx":461
21300
+ /* "obliquetree/src/tree.pyx":462
21280
21301
  *
21281
21302
  * elif node.n_category > 0: # Kategorik split
21282
21303
  * x_val = X[ind, node.feature_idx] # <<<<<<<<<<<<<<
@@ -21287,7 +21308,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21287
21308
  __pyx_t_6 = __pyx_v_node->feature_idx;
21288
21309
  __pyx_v_x_val = (*((double const *) ( /* dim=1 */ (( /* dim=0 */ ((char *) (((double const *) __pyx_v_X.data) + __pyx_t_7)) ) + __pyx_t_6 * __pyx_v_X.strides[1]) )));
21289
21310
 
21290
- /* "obliquetree/src/tree.pyx":462
21311
+ /* "obliquetree/src/tree.pyx":463
21291
21312
  * elif node.n_category > 0: # Kategorik split
21292
21313
  * x_val = X[ind, node.feature_idx]
21293
21314
  * goes_left = False # <<<<<<<<<<<<<<
@@ -21296,7 +21317,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21296
21317
  */
21297
21318
  __pyx_v_goes_left = 0;
21298
21319
 
21299
- /* "obliquetree/src/tree.pyx":464
21320
+ /* "obliquetree/src/tree.pyx":465
21300
21321
  * goes_left = False
21301
21322
  *
21302
21323
  * for j in range(node.n_category): # <<<<<<<<<<<<<<
@@ -21308,7 +21329,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21308
21329
  for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
21309
21330
  __pyx_v_j = __pyx_t_10;
21310
21331
 
21311
- /* "obliquetree/src/tree.pyx":465
21332
+ /* "obliquetree/src/tree.pyx":466
21312
21333
  *
21313
21334
  * for j in range(node.n_category):
21314
21335
  * if x_val == node.categories_go_left[j]: # <<<<<<<<<<<<<<
@@ -21318,7 +21339,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21318
21339
  __pyx_t_1 = (__pyx_v_x_val == (__pyx_v_node->categories_go_left[__pyx_v_j]));
21319
21340
  if (__pyx_t_1) {
21320
21341
 
21321
- /* "obliquetree/src/tree.pyx":466
21342
+ /* "obliquetree/src/tree.pyx":467
21322
21343
  * for j in range(node.n_category):
21323
21344
  * if x_val == node.categories_go_left[j]:
21324
21345
  * goes_left = True # <<<<<<<<<<<<<<
@@ -21327,7 +21348,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21327
21348
  */
21328
21349
  __pyx_v_goes_left = 1;
21329
21350
 
21330
- /* "obliquetree/src/tree.pyx":467
21351
+ /* "obliquetree/src/tree.pyx":468
21331
21352
  * if x_val == node.categories_go_left[j]:
21332
21353
  * goes_left = True
21333
21354
  * break # <<<<<<<<<<<<<<
@@ -21336,7 +21357,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21336
21357
  */
21337
21358
  goto __pyx_L17_break;
21338
21359
 
21339
- /* "obliquetree/src/tree.pyx":465
21360
+ /* "obliquetree/src/tree.pyx":466
21340
21361
  *
21341
21362
  * for j in range(node.n_category):
21342
21363
  * if x_val == node.categories_go_left[j]: # <<<<<<<<<<<<<<
@@ -21347,7 +21368,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21347
21368
  }
21348
21369
  __pyx_L17_break:;
21349
21370
 
21350
- /* "obliquetree/src/tree.pyx":460
21371
+ /* "obliquetree/src/tree.pyx":461
21351
21372
  * goes_left = calc <= node.threshold
21352
21373
  *
21353
21374
  * elif node.n_category > 0: # Kategorik split # <<<<<<<<<<<<<<
@@ -21357,7 +21378,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21357
21378
  goto __pyx_L13;
21358
21379
  }
21359
21380
 
21360
- /* "obliquetree/src/tree.pyx":470
21381
+ /* "obliquetree/src/tree.pyx":471
21361
21382
  *
21362
21383
  * else: # Normal numerik split
21363
21384
  * x_val = X[ind, node.feature_idx] # <<<<<<<<<<<<<<
@@ -21369,7 +21390,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21369
21390
  __pyx_t_7 = __pyx_v_node->feature_idx;
21370
21391
  __pyx_v_x_val = (*((double const *) ( /* dim=1 */ (( /* dim=0 */ ((char *) (((double const *) __pyx_v_X.data) + __pyx_t_6)) ) + __pyx_t_7 * __pyx_v_X.strides[1]) )));
21371
21392
 
21372
- /* "obliquetree/src/tree.pyx":471
21393
+ /* "obliquetree/src/tree.pyx":472
21373
21394
  * else: # Normal numerik split
21374
21395
  * x_val = X[ind, node.feature_idx]
21375
21396
  * if x_val != x_val: # <<<<<<<<<<<<<<
@@ -21379,7 +21400,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21379
21400
  __pyx_t_1 = (__pyx_v_x_val != __pyx_v_x_val);
21380
21401
  if (__pyx_t_1) {
21381
21402
 
21382
- /* "obliquetree/src/tree.pyx":472
21403
+ /* "obliquetree/src/tree.pyx":473
21383
21404
  * x_val = X[ind, node.feature_idx]
21384
21405
  * if x_val != x_val:
21385
21406
  * goes_left = node.missing_go_left # <<<<<<<<<<<<<<
@@ -21389,7 +21410,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21389
21410
  __pyx_t_8 = __pyx_v_node->missing_go_left;
21390
21411
  __pyx_v_goes_left = __pyx_t_8;
21391
21412
 
21392
- /* "obliquetree/src/tree.pyx":471
21413
+ /* "obliquetree/src/tree.pyx":472
21393
21414
  * else: # Normal numerik split
21394
21415
  * x_val = X[ind, node.feature_idx]
21395
21416
  * if x_val != x_val: # <<<<<<<<<<<<<<
@@ -21399,7 +21420,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21399
21420
  goto __pyx_L19;
21400
21421
  }
21401
21422
 
21402
- /* "obliquetree/src/tree.pyx":474
21423
+ /* "obliquetree/src/tree.pyx":475
21403
21424
  * goes_left = node.missing_go_left
21404
21425
  * else:
21405
21426
  * goes_left = x_val <= node.threshold # <<<<<<<<<<<<<<
@@ -21413,7 +21434,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21413
21434
  }
21414
21435
  __pyx_L13:;
21415
21436
 
21416
- /* "obliquetree/src/tree.pyx":476
21437
+ /* "obliquetree/src/tree.pyx":477
21417
21438
  * goes_left = x_val <= node.threshold
21418
21439
  *
21419
21440
  * if goes_left: # <<<<<<<<<<<<<<
@@ -21422,7 +21443,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21422
21443
  */
21423
21444
  if (__pyx_v_goes_left) {
21424
21445
 
21425
- /* "obliquetree/src/tree.pyx":477
21446
+ /* "obliquetree/src/tree.pyx":478
21426
21447
  *
21427
21448
  * if goes_left:
21428
21449
  * left_indices[left_count] = ind # <<<<<<<<<<<<<<
@@ -21431,7 +21452,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21431
21452
  */
21432
21453
  (__pyx_v_left_indices[__pyx_v_left_count]) = __pyx_v_ind;
21433
21454
 
21434
- /* "obliquetree/src/tree.pyx":478
21455
+ /* "obliquetree/src/tree.pyx":479
21435
21456
  * if goes_left:
21436
21457
  * left_indices[left_count] = ind
21437
21458
  * left_count += 1 # <<<<<<<<<<<<<<
@@ -21440,7 +21461,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21440
21461
  */
21441
21462
  __pyx_v_left_count = (__pyx_v_left_count + 1);
21442
21463
 
21443
- /* "obliquetree/src/tree.pyx":476
21464
+ /* "obliquetree/src/tree.pyx":477
21444
21465
  * goes_left = x_val <= node.threshold
21445
21466
  *
21446
21467
  * if goes_left: # <<<<<<<<<<<<<<
@@ -21450,7 +21471,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21450
21471
  goto __pyx_L20;
21451
21472
  }
21452
21473
 
21453
- /* "obliquetree/src/tree.pyx":480
21474
+ /* "obliquetree/src/tree.pyx":481
21454
21475
  * left_count += 1
21455
21476
  * else:
21456
21477
  * right_indices[right_count] = ind # <<<<<<<<<<<<<<
@@ -21460,7 +21481,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21460
21481
  /*else*/ {
21461
21482
  (__pyx_v_right_indices[__pyx_v_right_count]) = __pyx_v_ind;
21462
21483
 
21463
- /* "obliquetree/src/tree.pyx":481
21484
+ /* "obliquetree/src/tree.pyx":482
21464
21485
  * else:
21465
21486
  * right_indices[right_count] = ind
21466
21487
  * right_count += 1 # <<<<<<<<<<<<<<
@@ -21472,7 +21493,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21472
21493
  __pyx_L20:;
21473
21494
  }
21474
21495
 
21475
- /* "obliquetree/src/tree.pyx":483
21496
+ /* "obliquetree/src/tree.pyx":484
21476
21497
  * right_count += 1
21477
21498
  *
21478
21499
  * if left_count > 0: # <<<<<<<<<<<<<<
@@ -21482,7 +21503,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21482
21503
  __pyx_t_1 = (__pyx_v_left_count > 0);
21483
21504
  if (__pyx_t_1) {
21484
21505
 
21485
- /* "obliquetree/src/tree.pyx":484
21506
+ /* "obliquetree/src/tree.pyx":485
21486
21507
  *
21487
21508
  * if left_count > 0:
21488
21509
  * predict(node.left, X, out, left_indices, left_count ,n_classes) # <<<<<<<<<<<<<<
@@ -21491,7 +21512,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21491
21512
  */
21492
21513
  __pyx_f_11obliquetree_3src_4tree_predict(__pyx_v_node->left, __pyx_v_X, __pyx_v_out, __pyx_v_left_indices, __pyx_v_left_count, __pyx_v_n_classes);
21493
21514
 
21494
- /* "obliquetree/src/tree.pyx":483
21515
+ /* "obliquetree/src/tree.pyx":484
21495
21516
  * right_count += 1
21496
21517
  *
21497
21518
  * if left_count > 0: # <<<<<<<<<<<<<<
@@ -21500,7 +21521,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21500
21521
  */
21501
21522
  }
21502
21523
 
21503
- /* "obliquetree/src/tree.pyx":485
21524
+ /* "obliquetree/src/tree.pyx":486
21504
21525
  * if left_count > 0:
21505
21526
  * predict(node.left, X, out, left_indices, left_count ,n_classes)
21506
21527
  * if right_count > 0: # <<<<<<<<<<<<<<
@@ -21510,7 +21531,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21510
21531
  __pyx_t_1 = (__pyx_v_right_count > 0);
21511
21532
  if (__pyx_t_1) {
21512
21533
 
21513
- /* "obliquetree/src/tree.pyx":486
21534
+ /* "obliquetree/src/tree.pyx":487
21514
21535
  * predict(node.left, X, out, left_indices, left_count ,n_classes)
21515
21536
  * if right_count > 0:
21516
21537
  * predict(node.right, X, out, right_indices, right_count, n_classes) # <<<<<<<<<<<<<<
@@ -21519,7 +21540,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21519
21540
  */
21520
21541
  __pyx_f_11obliquetree_3src_4tree_predict(__pyx_v_node->right, __pyx_v_X, __pyx_v_out, __pyx_v_right_indices, __pyx_v_right_count, __pyx_v_n_classes);
21521
21542
 
21522
- /* "obliquetree/src/tree.pyx":485
21543
+ /* "obliquetree/src/tree.pyx":486
21523
21544
  * if left_count > 0:
21524
21545
  * predict(node.left, X, out, left_indices, left_count ,n_classes)
21525
21546
  * if right_count > 0: # <<<<<<<<<<<<<<
@@ -21528,7 +21549,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21528
21549
  */
21529
21550
  }
21530
21551
 
21531
- /* "obliquetree/src/tree.pyx":488
21552
+ /* "obliquetree/src/tree.pyx":489
21532
21553
  * predict(node.right, X, out, right_indices, right_count, n_classes)
21533
21554
  *
21534
21555
  * free(left_indices) # <<<<<<<<<<<<<<
@@ -21537,7 +21558,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21537
21558
  */
21538
21559
  free(__pyx_v_left_indices);
21539
21560
 
21540
- /* "obliquetree/src/tree.pyx":489
21561
+ /* "obliquetree/src/tree.pyx":490
21541
21562
  *
21542
21563
  * free(left_indices)
21543
21564
  * free(right_indices) # <<<<<<<<<<<<<<
@@ -21545,7 +21566,7 @@ static void __pyx_f_11obliquetree_3src_4tree_predict(struct __pyx_t_11obliquetre
21545
21566
  */
21546
21567
  free(__pyx_v_right_indices);
21547
21568
 
21548
- /* "obliquetree/src/tree.pyx":411
21569
+ /* "obliquetree/src/tree.pyx":412
21549
21570
  * return node
21550
21571
  *
21551
21572
  * cdef void predict( # <<<<<<<<<<<<<<
@@ -22534,35 +22555,35 @@ static int __Pyx_modinit_type_init_code(__pyx_mstatetype *__pyx_mstate) {
22534
22555
  #else
22535
22556
  #warning "The buffer protocol is not supported in the Limited C-API < 3.11."
22536
22557
  #endif
22537
- if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type___pyx_array_spec, __pyx_mstate->__pyx_array_type) < 0) __PYX_ERR(1, 110, __pyx_L1_error)
22558
+ if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type___pyx_array_spec, __pyx_mstate->__pyx_array_type) < (0)) __PYX_ERR(1, 110, __pyx_L1_error)
22538
22559
  #else
22539
22560
  __pyx_mstate->__pyx_array_type = &__pyx_type___pyx_array;
22540
22561
  #endif
22541
22562
  #if !CYTHON_COMPILING_IN_LIMITED_API
22542
22563
  #endif
22543
22564
  #if !CYTHON_USE_TYPE_SPECS
22544
- if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_array_type) < 0) __PYX_ERR(1, 110, __pyx_L1_error)
22565
+ if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_array_type) < (0)) __PYX_ERR(1, 110, __pyx_L1_error)
22545
22566
  #endif
22546
- if (__Pyx_SetVtable(__pyx_mstate->__pyx_array_type, __pyx_vtabptr_array) < 0) __PYX_ERR(1, 110, __pyx_L1_error)
22547
- if (__Pyx_MergeVtables(__pyx_mstate->__pyx_array_type) < 0) __PYX_ERR(1, 110, __pyx_L1_error)
22548
- if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_array_type) < 0) __PYX_ERR(1, 110, __pyx_L1_error)
22567
+ if (__Pyx_SetVtable(__pyx_mstate->__pyx_array_type, __pyx_vtabptr_array) < (0)) __PYX_ERR(1, 110, __pyx_L1_error)
22568
+ if (__Pyx_MergeVtables(__pyx_mstate->__pyx_array_type) < (0)) __PYX_ERR(1, 110, __pyx_L1_error)
22569
+ if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_array_type) < (0)) __PYX_ERR(1, 110, __pyx_L1_error)
22549
22570
  #if CYTHON_USE_TYPE_SPECS
22550
22571
  __pyx_mstate->__pyx_MemviewEnum_type = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type___pyx_MemviewEnum_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_MemviewEnum_type)) __PYX_ERR(1, 299, __pyx_L1_error)
22551
- if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type___pyx_MemviewEnum_spec, __pyx_mstate->__pyx_MemviewEnum_type) < 0) __PYX_ERR(1, 299, __pyx_L1_error)
22572
+ if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type___pyx_MemviewEnum_spec, __pyx_mstate->__pyx_MemviewEnum_type) < (0)) __PYX_ERR(1, 299, __pyx_L1_error)
22552
22573
  #else
22553
22574
  __pyx_mstate->__pyx_MemviewEnum_type = &__pyx_type___pyx_MemviewEnum;
22554
22575
  #endif
22555
22576
  #if !CYTHON_COMPILING_IN_LIMITED_API
22556
22577
  #endif
22557
22578
  #if !CYTHON_USE_TYPE_SPECS
22558
- if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_MemviewEnum_type) < 0) __PYX_ERR(1, 299, __pyx_L1_error)
22579
+ if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_MemviewEnum_type) < (0)) __PYX_ERR(1, 299, __pyx_L1_error)
22559
22580
  #endif
22560
22581
  #if !CYTHON_COMPILING_IN_LIMITED_API
22561
22582
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_MemviewEnum_type->tp_dictoffset && __pyx_mstate->__pyx_MemviewEnum_type->tp_getattro == PyObject_GenericGetAttr)) {
22562
22583
  __pyx_mstate->__pyx_MemviewEnum_type->tp_getattro = PyObject_GenericGetAttr;
22563
22584
  }
22564
22585
  #endif
22565
- if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_MemviewEnum_type) < 0) __PYX_ERR(1, 299, __pyx_L1_error)
22586
+ if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_MemviewEnum_type) < (0)) __PYX_ERR(1, 299, __pyx_L1_error)
22566
22587
  __pyx_vtabptr_memoryview = &__pyx_vtable_memoryview;
22567
22588
  __pyx_vtable_memoryview.get_item_pointer = (char *(*)(struct __pyx_memoryview_obj *, PyObject *))__pyx_memoryview_get_item_pointer;
22568
22589
  __pyx_vtable_memoryview.is_slice = (PyObject *(*)(struct __pyx_memoryview_obj *, PyObject *))__pyx_memoryview_is_slice;
@@ -22586,23 +22607,23 @@ static int __Pyx_modinit_type_init_code(__pyx_mstatetype *__pyx_mstate) {
22586
22607
  #else
22587
22608
  #warning "The buffer protocol is not supported in the Limited C-API < 3.11."
22588
22609
  #endif
22589
- if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type___pyx_memoryview_spec, __pyx_mstate->__pyx_memoryview_type) < 0) __PYX_ERR(1, 334, __pyx_L1_error)
22610
+ if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type___pyx_memoryview_spec, __pyx_mstate->__pyx_memoryview_type) < (0)) __PYX_ERR(1, 334, __pyx_L1_error)
22590
22611
  #else
22591
22612
  __pyx_mstate->__pyx_memoryview_type = &__pyx_type___pyx_memoryview;
22592
22613
  #endif
22593
22614
  #if !CYTHON_COMPILING_IN_LIMITED_API
22594
22615
  #endif
22595
22616
  #if !CYTHON_USE_TYPE_SPECS
22596
- if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_memoryview_type) < 0) __PYX_ERR(1, 334, __pyx_L1_error)
22617
+ if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_memoryview_type) < (0)) __PYX_ERR(1, 334, __pyx_L1_error)
22597
22618
  #endif
22598
22619
  #if !CYTHON_COMPILING_IN_LIMITED_API
22599
22620
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_memoryview_type->tp_dictoffset && __pyx_mstate->__pyx_memoryview_type->tp_getattro == PyObject_GenericGetAttr)) {
22600
22621
  __pyx_mstate->__pyx_memoryview_type->tp_getattro = PyObject_GenericGetAttr;
22601
22622
  }
22602
22623
  #endif
22603
- if (__Pyx_SetVtable(__pyx_mstate->__pyx_memoryview_type, __pyx_vtabptr_memoryview) < 0) __PYX_ERR(1, 334, __pyx_L1_error)
22604
- if (__Pyx_MergeVtables(__pyx_mstate->__pyx_memoryview_type) < 0) __PYX_ERR(1, 334, __pyx_L1_error)
22605
- if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_memoryview_type) < 0) __PYX_ERR(1, 334, __pyx_L1_error)
22624
+ if (__Pyx_SetVtable(__pyx_mstate->__pyx_memoryview_type, __pyx_vtabptr_memoryview) < (0)) __PYX_ERR(1, 334, __pyx_L1_error)
22625
+ if (__Pyx_MergeVtables(__pyx_mstate->__pyx_memoryview_type) < (0)) __PYX_ERR(1, 334, __pyx_L1_error)
22626
+ if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_memoryview_type) < (0)) __PYX_ERR(1, 334, __pyx_L1_error)
22606
22627
  __pyx_vtabptr__memoryviewslice = &__pyx_vtable__memoryviewslice;
22607
22628
  __pyx_vtable__memoryviewslice.__pyx_base = *__pyx_vtabptr_memoryview;
22608
22629
  __pyx_vtable__memoryviewslice.__pyx_base.convert_item_to_object = (PyObject *(*)(struct __pyx_memoryview_obj *, char *))__pyx_memoryviewslice_convert_item_to_object;
@@ -22614,7 +22635,7 @@ static int __Pyx_modinit_type_init_code(__pyx_mstatetype *__pyx_mstate) {
22614
22635
  __pyx_mstate->__pyx_memoryviewslice_type = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type___pyx_memoryviewslice_spec, __pyx_t_1);
22615
22636
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
22616
22637
  if (unlikely(!__pyx_mstate->__pyx_memoryviewslice_type)) __PYX_ERR(1, 950, __pyx_L1_error)
22617
- if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type___pyx_memoryviewslice_spec, __pyx_mstate->__pyx_memoryviewslice_type) < 0) __PYX_ERR(1, 950, __pyx_L1_error)
22638
+ if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type___pyx_memoryviewslice_spec, __pyx_mstate->__pyx_memoryviewslice_type) < (0)) __PYX_ERR(1, 950, __pyx_L1_error)
22618
22639
  #else
22619
22640
  __pyx_mstate->__pyx_memoryviewslice_type = &__pyx_type___pyx_memoryviewslice;
22620
22641
  #endif
@@ -22622,16 +22643,16 @@ static int __Pyx_modinit_type_init_code(__pyx_mstatetype *__pyx_mstate) {
22622
22643
  __pyx_mstate_global->__pyx_memoryviewslice_type->tp_base = __pyx_mstate_global->__pyx_memoryview_type;
22623
22644
  #endif
22624
22645
  #if !CYTHON_USE_TYPE_SPECS
22625
- if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_memoryviewslice_type) < 0) __PYX_ERR(1, 950, __pyx_L1_error)
22646
+ if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_memoryviewslice_type) < (0)) __PYX_ERR(1, 950, __pyx_L1_error)
22626
22647
  #endif
22627
22648
  #if !CYTHON_COMPILING_IN_LIMITED_API
22628
22649
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_memoryviewslice_type->tp_dictoffset && __pyx_mstate->__pyx_memoryviewslice_type->tp_getattro == PyObject_GenericGetAttr)) {
22629
22650
  __pyx_mstate->__pyx_memoryviewslice_type->tp_getattro = PyObject_GenericGetAttr;
22630
22651
  }
22631
22652
  #endif
22632
- if (__Pyx_SetVtable(__pyx_mstate->__pyx_memoryviewslice_type, __pyx_vtabptr__memoryviewslice) < 0) __PYX_ERR(1, 950, __pyx_L1_error)
22633
- if (__Pyx_MergeVtables(__pyx_mstate->__pyx_memoryviewslice_type) < 0) __PYX_ERR(1, 950, __pyx_L1_error)
22634
- if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_memoryviewslice_type) < 0) __PYX_ERR(1, 950, __pyx_L1_error)
22653
+ if (__Pyx_SetVtable(__pyx_mstate->__pyx_memoryviewslice_type, __pyx_vtabptr__memoryviewslice) < (0)) __PYX_ERR(1, 950, __pyx_L1_error)
22654
+ if (__Pyx_MergeVtables(__pyx_mstate->__pyx_memoryviewslice_type) < (0)) __PYX_ERR(1, 950, __pyx_L1_error)
22655
+ if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_memoryviewslice_type) < (0)) __PYX_ERR(1, 950, __pyx_L1_error)
22635
22656
  __Pyx_RefNannyFinishContext();
22636
22657
  return 0;
22637
22658
  __pyx_L1_error:;
@@ -22651,166 +22672,166 @@ static int __Pyx_modinit_type_import_code(__pyx_mstatetype *__pyx_mstate) {
22651
22672
  /*--- Type import code ---*/
22652
22673
  __pyx_t_1 = PyImport_ImportModule("obliquetree.src.base"); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 4, __pyx_L1_error)
22653
22674
  __Pyx_GOTREF(__pyx_t_1);
22654
- __pyx_mstate->__pyx_ptype_11obliquetree_3src_4base_TreeClassifier = __Pyx_ImportType_3_1_2(__pyx_t_1, "obliquetree.src.base", "TreeClassifier",
22675
+ __pyx_mstate->__pyx_ptype_11obliquetree_3src_4base_TreeClassifier = __Pyx_ImportType_3_1_6(__pyx_t_1, "obliquetree.src.base", "TreeClassifier",
22655
22676
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
22656
- sizeof(struct __pyx_obj_11obliquetree_3src_4base_TreeClassifier), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(struct __pyx_obj_11obliquetree_3src_4base_TreeClassifier),
22677
+ sizeof(struct __pyx_obj_11obliquetree_3src_4base_TreeClassifier), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(struct __pyx_obj_11obliquetree_3src_4base_TreeClassifier),
22657
22678
  #elif CYTHON_COMPILING_IN_LIMITED_API
22658
- sizeof(struct __pyx_obj_11obliquetree_3src_4base_TreeClassifier), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(struct __pyx_obj_11obliquetree_3src_4base_TreeClassifier),
22679
+ sizeof(struct __pyx_obj_11obliquetree_3src_4base_TreeClassifier), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(struct __pyx_obj_11obliquetree_3src_4base_TreeClassifier),
22659
22680
  #else
22660
- sizeof(struct __pyx_obj_11obliquetree_3src_4base_TreeClassifier), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(struct __pyx_obj_11obliquetree_3src_4base_TreeClassifier),
22681
+ sizeof(struct __pyx_obj_11obliquetree_3src_4base_TreeClassifier), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(struct __pyx_obj_11obliquetree_3src_4base_TreeClassifier),
22661
22682
  #endif
22662
- __Pyx_ImportType_CheckSize_Warn_3_1_2); if (!__pyx_mstate->__pyx_ptype_11obliquetree_3src_4base_TreeClassifier) __PYX_ERR(3, 4, __pyx_L1_error)
22683
+ __Pyx_ImportType_CheckSize_Warn_3_1_6); if (!__pyx_mstate->__pyx_ptype_11obliquetree_3src_4base_TreeClassifier) __PYX_ERR(3, 4, __pyx_L1_error)
22663
22684
  __pyx_vtabptr_11obliquetree_3src_4base_TreeClassifier = (struct __pyx_vtabstruct_11obliquetree_3src_4base_TreeClassifier*)__Pyx_GetVtable(__pyx_mstate->__pyx_ptype_11obliquetree_3src_4base_TreeClassifier); if (unlikely(!__pyx_vtabptr_11obliquetree_3src_4base_TreeClassifier)) __PYX_ERR(3, 4, __pyx_L1_error)
22664
22685
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
22665
22686
  __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 9, __pyx_L1_error)
22666
22687
  __Pyx_GOTREF(__pyx_t_1);
22667
- __pyx_mstate->__pyx_ptype_7cpython_4type_type = __Pyx_ImportType_3_1_2(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type",
22688
+ __pyx_mstate->__pyx_ptype_7cpython_4type_type = __Pyx_ImportType_3_1_6(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type",
22668
22689
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
22669
- sizeof(PyTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyTypeObject),
22690
+ sizeof(PyTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyTypeObject),
22670
22691
  #elif CYTHON_COMPILING_IN_LIMITED_API
22671
22692
  0, 0,
22672
22693
  #else
22673
- sizeof(PyHeapTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyHeapTypeObject),
22694
+ sizeof(PyHeapTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyHeapTypeObject),
22674
22695
  #endif
22675
- __Pyx_ImportType_CheckSize_Warn_3_1_2); if (!__pyx_mstate->__pyx_ptype_7cpython_4type_type) __PYX_ERR(4, 9, __pyx_L1_error)
22696
+ __Pyx_ImportType_CheckSize_Warn_3_1_6); if (!__pyx_mstate->__pyx_ptype_7cpython_4type_type) __PYX_ERR(4, 9, __pyx_L1_error)
22676
22697
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
22677
22698
  __pyx_t_1 = PyImport_ImportModule("numpy"); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 272, __pyx_L1_error)
22678
22699
  __Pyx_GOTREF(__pyx_t_1);
22679
- __pyx_mstate->__pyx_ptype_5numpy_dtype = __Pyx_ImportType_3_1_2(__pyx_t_1, "numpy", "dtype",
22700
+ __pyx_mstate->__pyx_ptype_5numpy_dtype = __Pyx_ImportType_3_1_6(__pyx_t_1, "numpy", "dtype",
22680
22701
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
22681
- sizeof(PyArray_Descr), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyArray_Descr),
22702
+ sizeof(PyArray_Descr), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyArray_Descr),
22682
22703
  #elif CYTHON_COMPILING_IN_LIMITED_API
22683
- sizeof(PyArray_Descr), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyArray_Descr),
22704
+ sizeof(PyArray_Descr), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyArray_Descr),
22684
22705
  #else
22685
- sizeof(PyArray_Descr), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyArray_Descr),
22706
+ sizeof(PyArray_Descr), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyArray_Descr),
22686
22707
  #endif
22687
- __Pyx_ImportType_CheckSize_Ignore_3_1_2); if (!__pyx_mstate->__pyx_ptype_5numpy_dtype) __PYX_ERR(2, 272, __pyx_L1_error)
22688
- __pyx_mstate->__pyx_ptype_5numpy_flatiter = __Pyx_ImportType_3_1_2(__pyx_t_1, "numpy", "flatiter",
22708
+ __Pyx_ImportType_CheckSize_Ignore_3_1_6); if (!__pyx_mstate->__pyx_ptype_5numpy_dtype) __PYX_ERR(2, 272, __pyx_L1_error)
22709
+ __pyx_mstate->__pyx_ptype_5numpy_flatiter = __Pyx_ImportType_3_1_6(__pyx_t_1, "numpy", "flatiter",
22689
22710
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
22690
- sizeof(PyArrayIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyArrayIterObject),
22711
+ sizeof(PyArrayIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyArrayIterObject),
22691
22712
  #elif CYTHON_COMPILING_IN_LIMITED_API
22692
- sizeof(PyArrayIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyArrayIterObject),
22713
+ sizeof(PyArrayIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyArrayIterObject),
22693
22714
  #else
22694
- sizeof(PyArrayIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyArrayIterObject),
22715
+ sizeof(PyArrayIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyArrayIterObject),
22695
22716
  #endif
22696
- __Pyx_ImportType_CheckSize_Ignore_3_1_2); if (!__pyx_mstate->__pyx_ptype_5numpy_flatiter) __PYX_ERR(2, 317, __pyx_L1_error)
22697
- __pyx_mstate->__pyx_ptype_5numpy_broadcast = __Pyx_ImportType_3_1_2(__pyx_t_1, "numpy", "broadcast",
22717
+ __Pyx_ImportType_CheckSize_Ignore_3_1_6); if (!__pyx_mstate->__pyx_ptype_5numpy_flatiter) __PYX_ERR(2, 317, __pyx_L1_error)
22718
+ __pyx_mstate->__pyx_ptype_5numpy_broadcast = __Pyx_ImportType_3_1_6(__pyx_t_1, "numpy", "broadcast",
22698
22719
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
22699
- sizeof(PyArrayMultiIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyArrayMultiIterObject),
22720
+ sizeof(PyArrayMultiIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyArrayMultiIterObject),
22700
22721
  #elif CYTHON_COMPILING_IN_LIMITED_API
22701
- sizeof(PyArrayMultiIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyArrayMultiIterObject),
22722
+ sizeof(PyArrayMultiIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyArrayMultiIterObject),
22702
22723
  #else
22703
- sizeof(PyArrayMultiIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyArrayMultiIterObject),
22724
+ sizeof(PyArrayMultiIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyArrayMultiIterObject),
22704
22725
  #endif
22705
- __Pyx_ImportType_CheckSize_Ignore_3_1_2); if (!__pyx_mstate->__pyx_ptype_5numpy_broadcast) __PYX_ERR(2, 321, __pyx_L1_error)
22706
- __pyx_mstate->__pyx_ptype_5numpy_ndarray = __Pyx_ImportType_3_1_2(__pyx_t_1, "numpy", "ndarray",
22726
+ __Pyx_ImportType_CheckSize_Ignore_3_1_6); if (!__pyx_mstate->__pyx_ptype_5numpy_broadcast) __PYX_ERR(2, 321, __pyx_L1_error)
22727
+ __pyx_mstate->__pyx_ptype_5numpy_ndarray = __Pyx_ImportType_3_1_6(__pyx_t_1, "numpy", "ndarray",
22707
22728
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
22708
- sizeof(PyArrayObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyArrayObject),
22729
+ sizeof(PyArrayObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyArrayObject),
22709
22730
  #elif CYTHON_COMPILING_IN_LIMITED_API
22710
- sizeof(PyArrayObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyArrayObject),
22731
+ sizeof(PyArrayObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyArrayObject),
22711
22732
  #else
22712
- sizeof(PyArrayObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyArrayObject),
22733
+ sizeof(PyArrayObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyArrayObject),
22713
22734
  #endif
22714
- __Pyx_ImportType_CheckSize_Ignore_3_1_2); if (!__pyx_mstate->__pyx_ptype_5numpy_ndarray) __PYX_ERR(2, 360, __pyx_L1_error)
22715
- __pyx_mstate->__pyx_ptype_5numpy_generic = __Pyx_ImportType_3_1_2(__pyx_t_1, "numpy", "generic",
22735
+ __Pyx_ImportType_CheckSize_Ignore_3_1_6); if (!__pyx_mstate->__pyx_ptype_5numpy_ndarray) __PYX_ERR(2, 360, __pyx_L1_error)
22736
+ __pyx_mstate->__pyx_ptype_5numpy_generic = __Pyx_ImportType_3_1_6(__pyx_t_1, "numpy", "generic",
22716
22737
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
22717
- sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyObject),
22738
+ sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyObject),
22718
22739
  #elif CYTHON_COMPILING_IN_LIMITED_API
22719
- sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyObject),
22740
+ sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyObject),
22720
22741
  #else
22721
- sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyObject),
22742
+ sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyObject),
22722
22743
  #endif
22723
- __Pyx_ImportType_CheckSize_Warn_3_1_2); if (!__pyx_mstate->__pyx_ptype_5numpy_generic) __PYX_ERR(2, 873, __pyx_L1_error)
22724
- __pyx_mstate->__pyx_ptype_5numpy_number = __Pyx_ImportType_3_1_2(__pyx_t_1, "numpy", "number",
22744
+ __Pyx_ImportType_CheckSize_Warn_3_1_6); if (!__pyx_mstate->__pyx_ptype_5numpy_generic) __PYX_ERR(2, 873, __pyx_L1_error)
22745
+ __pyx_mstate->__pyx_ptype_5numpy_number = __Pyx_ImportType_3_1_6(__pyx_t_1, "numpy", "number",
22725
22746
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
22726
- sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyObject),
22747
+ sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyObject),
22727
22748
  #elif CYTHON_COMPILING_IN_LIMITED_API
22728
- sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyObject),
22749
+ sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyObject),
22729
22750
  #else
22730
- sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyObject),
22751
+ sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyObject),
22731
22752
  #endif
22732
- __Pyx_ImportType_CheckSize_Warn_3_1_2); if (!__pyx_mstate->__pyx_ptype_5numpy_number) __PYX_ERR(2, 875, __pyx_L1_error)
22733
- __pyx_mstate->__pyx_ptype_5numpy_integer = __Pyx_ImportType_3_1_2(__pyx_t_1, "numpy", "integer",
22753
+ __Pyx_ImportType_CheckSize_Warn_3_1_6); if (!__pyx_mstate->__pyx_ptype_5numpy_number) __PYX_ERR(2, 875, __pyx_L1_error)
22754
+ __pyx_mstate->__pyx_ptype_5numpy_integer = __Pyx_ImportType_3_1_6(__pyx_t_1, "numpy", "integer",
22734
22755
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
22735
- sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyObject),
22756
+ sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyObject),
22736
22757
  #elif CYTHON_COMPILING_IN_LIMITED_API
22737
- sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyObject),
22758
+ sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyObject),
22738
22759
  #else
22739
- sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyObject),
22760
+ sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyObject),
22740
22761
  #endif
22741
- __Pyx_ImportType_CheckSize_Warn_3_1_2); if (!__pyx_mstate->__pyx_ptype_5numpy_integer) __PYX_ERR(2, 877, __pyx_L1_error)
22742
- __pyx_mstate->__pyx_ptype_5numpy_signedinteger = __Pyx_ImportType_3_1_2(__pyx_t_1, "numpy", "signedinteger",
22762
+ __Pyx_ImportType_CheckSize_Warn_3_1_6); if (!__pyx_mstate->__pyx_ptype_5numpy_integer) __PYX_ERR(2, 877, __pyx_L1_error)
22763
+ __pyx_mstate->__pyx_ptype_5numpy_signedinteger = __Pyx_ImportType_3_1_6(__pyx_t_1, "numpy", "signedinteger",
22743
22764
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
22744
- sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyObject),
22765
+ sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyObject),
22745
22766
  #elif CYTHON_COMPILING_IN_LIMITED_API
22746
- sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyObject),
22767
+ sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyObject),
22747
22768
  #else
22748
- sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyObject),
22769
+ sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyObject),
22749
22770
  #endif
22750
- __Pyx_ImportType_CheckSize_Warn_3_1_2); if (!__pyx_mstate->__pyx_ptype_5numpy_signedinteger) __PYX_ERR(2, 879, __pyx_L1_error)
22751
- __pyx_mstate->__pyx_ptype_5numpy_unsignedinteger = __Pyx_ImportType_3_1_2(__pyx_t_1, "numpy", "unsignedinteger",
22771
+ __Pyx_ImportType_CheckSize_Warn_3_1_6); if (!__pyx_mstate->__pyx_ptype_5numpy_signedinteger) __PYX_ERR(2, 879, __pyx_L1_error)
22772
+ __pyx_mstate->__pyx_ptype_5numpy_unsignedinteger = __Pyx_ImportType_3_1_6(__pyx_t_1, "numpy", "unsignedinteger",
22752
22773
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
22753
- sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyObject),
22774
+ sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyObject),
22754
22775
  #elif CYTHON_COMPILING_IN_LIMITED_API
22755
- sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyObject),
22776
+ sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyObject),
22756
22777
  #else
22757
- sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyObject),
22778
+ sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyObject),
22758
22779
  #endif
22759
- __Pyx_ImportType_CheckSize_Warn_3_1_2); if (!__pyx_mstate->__pyx_ptype_5numpy_unsignedinteger) __PYX_ERR(2, 881, __pyx_L1_error)
22760
- __pyx_mstate->__pyx_ptype_5numpy_inexact = __Pyx_ImportType_3_1_2(__pyx_t_1, "numpy", "inexact",
22780
+ __Pyx_ImportType_CheckSize_Warn_3_1_6); if (!__pyx_mstate->__pyx_ptype_5numpy_unsignedinteger) __PYX_ERR(2, 881, __pyx_L1_error)
22781
+ __pyx_mstate->__pyx_ptype_5numpy_inexact = __Pyx_ImportType_3_1_6(__pyx_t_1, "numpy", "inexact",
22761
22782
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
22762
- sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyObject),
22783
+ sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyObject),
22763
22784
  #elif CYTHON_COMPILING_IN_LIMITED_API
22764
- sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyObject),
22785
+ sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyObject),
22765
22786
  #else
22766
- sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyObject),
22787
+ sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyObject),
22767
22788
  #endif
22768
- __Pyx_ImportType_CheckSize_Warn_3_1_2); if (!__pyx_mstate->__pyx_ptype_5numpy_inexact) __PYX_ERR(2, 883, __pyx_L1_error)
22769
- __pyx_mstate->__pyx_ptype_5numpy_floating = __Pyx_ImportType_3_1_2(__pyx_t_1, "numpy", "floating",
22789
+ __Pyx_ImportType_CheckSize_Warn_3_1_6); if (!__pyx_mstate->__pyx_ptype_5numpy_inexact) __PYX_ERR(2, 883, __pyx_L1_error)
22790
+ __pyx_mstate->__pyx_ptype_5numpy_floating = __Pyx_ImportType_3_1_6(__pyx_t_1, "numpy", "floating",
22770
22791
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
22771
- sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyObject),
22792
+ sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyObject),
22772
22793
  #elif CYTHON_COMPILING_IN_LIMITED_API
22773
- sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyObject),
22794
+ sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyObject),
22774
22795
  #else
22775
- sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyObject),
22796
+ sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyObject),
22776
22797
  #endif
22777
- __Pyx_ImportType_CheckSize_Warn_3_1_2); if (!__pyx_mstate->__pyx_ptype_5numpy_floating) __PYX_ERR(2, 885, __pyx_L1_error)
22778
- __pyx_mstate->__pyx_ptype_5numpy_complexfloating = __Pyx_ImportType_3_1_2(__pyx_t_1, "numpy", "complexfloating",
22798
+ __Pyx_ImportType_CheckSize_Warn_3_1_6); if (!__pyx_mstate->__pyx_ptype_5numpy_floating) __PYX_ERR(2, 885, __pyx_L1_error)
22799
+ __pyx_mstate->__pyx_ptype_5numpy_complexfloating = __Pyx_ImportType_3_1_6(__pyx_t_1, "numpy", "complexfloating",
22779
22800
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
22780
- sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyObject),
22801
+ sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyObject),
22781
22802
  #elif CYTHON_COMPILING_IN_LIMITED_API
22782
- sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyObject),
22803
+ sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyObject),
22783
22804
  #else
22784
- sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyObject),
22805
+ sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyObject),
22785
22806
  #endif
22786
- __Pyx_ImportType_CheckSize_Warn_3_1_2); if (!__pyx_mstate->__pyx_ptype_5numpy_complexfloating) __PYX_ERR(2, 887, __pyx_L1_error)
22787
- __pyx_mstate->__pyx_ptype_5numpy_flexible = __Pyx_ImportType_3_1_2(__pyx_t_1, "numpy", "flexible",
22807
+ __Pyx_ImportType_CheckSize_Warn_3_1_6); if (!__pyx_mstate->__pyx_ptype_5numpy_complexfloating) __PYX_ERR(2, 887, __pyx_L1_error)
22808
+ __pyx_mstate->__pyx_ptype_5numpy_flexible = __Pyx_ImportType_3_1_6(__pyx_t_1, "numpy", "flexible",
22788
22809
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
22789
- sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyObject),
22810
+ sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyObject),
22790
22811
  #elif CYTHON_COMPILING_IN_LIMITED_API
22791
- sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyObject),
22812
+ sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyObject),
22792
22813
  #else
22793
- sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyObject),
22814
+ sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyObject),
22794
22815
  #endif
22795
- __Pyx_ImportType_CheckSize_Warn_3_1_2); if (!__pyx_mstate->__pyx_ptype_5numpy_flexible) __PYX_ERR(2, 889, __pyx_L1_error)
22796
- __pyx_mstate->__pyx_ptype_5numpy_character = __Pyx_ImportType_3_1_2(__pyx_t_1, "numpy", "character",
22816
+ __Pyx_ImportType_CheckSize_Warn_3_1_6); if (!__pyx_mstate->__pyx_ptype_5numpy_flexible) __PYX_ERR(2, 889, __pyx_L1_error)
22817
+ __pyx_mstate->__pyx_ptype_5numpy_character = __Pyx_ImportType_3_1_6(__pyx_t_1, "numpy", "character",
22797
22818
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
22798
- sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyObject),
22819
+ sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyObject),
22799
22820
  #elif CYTHON_COMPILING_IN_LIMITED_API
22800
- sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyObject),
22821
+ sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyObject),
22801
22822
  #else
22802
- sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyObject),
22823
+ sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyObject),
22803
22824
  #endif
22804
- __Pyx_ImportType_CheckSize_Warn_3_1_2); if (!__pyx_mstate->__pyx_ptype_5numpy_character) __PYX_ERR(2, 891, __pyx_L1_error)
22805
- __pyx_mstate->__pyx_ptype_5numpy_ufunc = __Pyx_ImportType_3_1_2(__pyx_t_1, "numpy", "ufunc",
22825
+ __Pyx_ImportType_CheckSize_Warn_3_1_6); if (!__pyx_mstate->__pyx_ptype_5numpy_character) __PYX_ERR(2, 891, __pyx_L1_error)
22826
+ __pyx_mstate->__pyx_ptype_5numpy_ufunc = __Pyx_ImportType_3_1_6(__pyx_t_1, "numpy", "ufunc",
22806
22827
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
22807
- sizeof(PyUFuncObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyUFuncObject),
22828
+ sizeof(PyUFuncObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyUFuncObject),
22808
22829
  #elif CYTHON_COMPILING_IN_LIMITED_API
22809
- sizeof(PyUFuncObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyUFuncObject),
22830
+ sizeof(PyUFuncObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyUFuncObject),
22810
22831
  #else
22811
- sizeof(PyUFuncObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_2(PyUFuncObject),
22832
+ sizeof(PyUFuncObject), __PYX_GET_STRUCT_ALIGNMENT_3_1_6(PyUFuncObject),
22812
22833
  #endif
22813
- __Pyx_ImportType_CheckSize_Ignore_3_1_2); if (!__pyx_mstate->__pyx_ptype_5numpy_ufunc) __PYX_ERR(2, 955, __pyx_L1_error)
22834
+ __Pyx_ImportType_CheckSize_Ignore_3_1_6); if (!__pyx_mstate->__pyx_ptype_5numpy_ufunc) __PYX_ERR(2, 955, __pyx_L1_error)
22814
22835
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
22815
22836
  __Pyx_RefNannyFinishContext();
22816
22837
  return 0;
@@ -22840,21 +22861,21 @@ static int __Pyx_modinit_function_import_code(__pyx_mstatetype *__pyx_mstate) {
22840
22861
  /*--- Function import code ---*/
22841
22862
  __pyx_t_1 = PyImport_ImportModule("obliquetree.src.utils"); if (!__pyx_t_1) __PYX_ERR(0, 1, __pyx_L1_error)
22842
22863
  __Pyx_GOTREF(__pyx_t_1);
22843
- if (__Pyx_ImportFunction_3_1_2(__pyx_t_1, "sort_pointer_array", (void (**)(void))&__pyx_f_11obliquetree_3src_5utils_sort_pointer_array, "void (struct __pyx_t_11obliquetree_3src_5utils_SortItem *, int const )") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
22844
- if (__Pyx_ImportFunction_3_1_2(__pyx_t_1, "populate_indices", (void (**)(void))&__pyx_f_11obliquetree_3src_5utils_populate_indices, "void (int const , int const , int const , int const , int const , int *, int *, int const *, int const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
22845
- if (__Pyx_ImportFunction_3_1_2(__pyx_t_1, "sort_pointer_array_count", (void (**)(void))&__pyx_f_11obliquetree_3src_5utils_sort_pointer_array_count, "void (struct __pyx_t_11obliquetree_3src_5utils_SortItem *, int *, struct __pyx_t_11obliquetree_3src_5utils_SortItem *, int const , int const , int const )") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
22864
+ if (__Pyx_ImportFunction_3_1_6(__pyx_t_1, "sort_pointer_array", (void (**)(void))&__pyx_f_11obliquetree_3src_5utils_sort_pointer_array, "void (struct __pyx_t_11obliquetree_3src_5utils_SortItem *, int const )") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
22865
+ if (__Pyx_ImportFunction_3_1_6(__pyx_t_1, "populate_indices", (void (**)(void))&__pyx_f_11obliquetree_3src_5utils_populate_indices, "void (int const , int const , int const , int const , int const , int *, int *, int const *, int const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
22866
+ if (__Pyx_ImportFunction_3_1_6(__pyx_t_1, "sort_pointer_array_count", (void (**)(void))&__pyx_f_11obliquetree_3src_5utils_sort_pointer_array_count, "void (struct __pyx_t_11obliquetree_3src_5utils_SortItem *, int *, struct __pyx_t_11obliquetree_3src_5utils_SortItem *, int const , int const , int const )") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
22846
22867
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
22847
22868
  __pyx_t_1 = PyImport_ImportModule("obliquetree.src.oblique"); if (!__pyx_t_1) __PYX_ERR(0, 1, __pyx_L1_error)
22848
22869
  __Pyx_GOTREF(__pyx_t_1);
22849
- if (__Pyx_ImportFunction_3_1_2(__pyx_t_1, "analyze", (void (**)(void))&__pyx_f_11obliquetree_3src_7oblique_analyze, "__pyx_ctuple_double__ptr__and_int__ptr (int const , int const , int const , PyArrayObject *, PyArrayObject *, PyArrayObject *, int const *, struct __pyx_t_11obliquetree_3src_5utils_SortItem *, int const , int const , int const *, PyObject *, double const , int const , double const )") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
22870
+ if (__Pyx_ImportFunction_3_1_6(__pyx_t_1, "analyze", (void (**)(void))&__pyx_f_11obliquetree_3src_7oblique_analyze, "__pyx_ctuple_double__ptr__and_int__ptr (int const , int const , int const , PyArrayObject *, PyArrayObject *, PyArrayObject *, int const *, struct __pyx_t_11obliquetree_3src_5utils_SortItem *, int const , int const , int const *, PyObject *, double const , int const , double const )") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
22850
22871
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
22851
22872
  __pyx_t_1 = PyImport_ImportModule("obliquetree.src.metric"); if (!__pyx_t_1) __PYX_ERR(0, 1, __pyx_L1_error)
22852
22873
  __Pyx_GOTREF(__pyx_t_1);
22853
- if (__Pyx_ImportFunction_3_1_2(__pyx_t_1, "calculate_impurity", (void (**)(void))&__pyx_f_11obliquetree_3src_6metric_calculate_impurity, "double (int const , int const , struct __pyx_t_11obliquetree_3src_5utils_SortItem *, double const *, double const *, int *, struct __pyx_t_11obliquetree_3src_4tree_CategoryStat *, int const , int const , int const , double *, int *, int *, int const )") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
22854
- if (__Pyx_ImportFunction_3_1_2(__pyx_t_1, "calculate_node_value", (void (**)(void))&__pyx_f_11obliquetree_3src_6metric_calculate_node_value, "double (__Pyx_memviewslice, __Pyx_memviewslice, int const *, int const )") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
22855
- if (__Pyx_ImportFunction_3_1_2(__pyx_t_1, "calculate_node_gini", (void (**)(void))&__pyx_f_11obliquetree_3src_6metric_calculate_node_gini, "double (int const *, __Pyx_memviewslice, __Pyx_memviewslice, int const , struct __pyx_opt_args_11obliquetree_3src_6metric_calculate_node_gini *__pyx_optional_args)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
22856
- if (__Pyx_ImportFunction_3_1_2(__pyx_t_1, "calculate_node_mse", (void (**)(void))&__pyx_f_11obliquetree_3src_6metric_calculate_node_mse, "double (int const *, __Pyx_memviewslice, __Pyx_memviewslice, int const )") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
22857
- if (__Pyx_ImportFunction_3_1_2(__pyx_t_1, "calculate_node_value_multiclass", (void (**)(void))&__pyx_f_11obliquetree_3src_6metric_calculate_node_value_multiclass, "void (__Pyx_memviewslice, __Pyx_memviewslice, int const *, int const , int const , double **)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
22874
+ if (__Pyx_ImportFunction_3_1_6(__pyx_t_1, "calculate_impurity", (void (**)(void))&__pyx_f_11obliquetree_3src_6metric_calculate_impurity, "double (int const , int const , struct __pyx_t_11obliquetree_3src_5utils_SortItem *, double const *, double const *, int *, struct __pyx_t_11obliquetree_3src_4tree_CategoryStat *, int const , int const , int const , double *, int *, int *, int const )") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
22875
+ if (__Pyx_ImportFunction_3_1_6(__pyx_t_1, "calculate_node_value", (void (**)(void))&__pyx_f_11obliquetree_3src_6metric_calculate_node_value, "double (__Pyx_memviewslice, __Pyx_memviewslice, int const *, int const )") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
22876
+ if (__Pyx_ImportFunction_3_1_6(__pyx_t_1, "calculate_node_gini", (void (**)(void))&__pyx_f_11obliquetree_3src_6metric_calculate_node_gini, "double (int const *, __Pyx_memviewslice, __Pyx_memviewslice, int const , struct __pyx_opt_args_11obliquetree_3src_6metric_calculate_node_gini *__pyx_optional_args)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
22877
+ if (__Pyx_ImportFunction_3_1_6(__pyx_t_1, "calculate_node_mse", (void (**)(void))&__pyx_f_11obliquetree_3src_6metric_calculate_node_mse, "double (int const *, __Pyx_memviewslice, __Pyx_memviewslice, int const )") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
22878
+ if (__Pyx_ImportFunction_3_1_6(__pyx_t_1, "calculate_node_value_multiclass", (void (**)(void))&__pyx_f_11obliquetree_3src_6metric_calculate_node_value_multiclass, "void (__Pyx_memviewslice, __Pyx_memviewslice, int const *, int const , int const , double **)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
22858
22879
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
22859
22880
  __Pyx_RefNannyFinishContext();
22860
22881
  return 0;
@@ -23099,7 +23120,7 @@ if (!__Pyx_RefNanny) {
23099
23120
  #endif
23100
23121
 
23101
23122
  __Pyx_RefNannySetupContext("PyInit_tree", 0);
23102
- if (__Pyx_check_binary_version(__PYX_LIMITED_VERSION_HEX, __Pyx_get_runtime_version(), CYTHON_COMPILING_IN_LIMITED_API) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
23123
+ if (__Pyx_check_binary_version(__PYX_LIMITED_VERSION_HEX, __Pyx_get_runtime_version(), CYTHON_COMPILING_IN_LIMITED_API) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
23103
23124
  #ifdef __Pxy_PyFrame_Initialize_Offsets
23104
23125
  __Pxy_PyFrame_Initialize_Offsets();
23105
23126
  #endif
@@ -23107,30 +23128,30 @@ __Pyx_RefNannySetupContext("PyInit_tree", 0);
23107
23128
  __pyx_mstate->__pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_mstate->__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error)
23108
23129
  __pyx_mstate->__pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_mstate->__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error)
23109
23130
  /*--- Initialize various global constants etc. ---*/
23110
- if (__Pyx_InitConstants(__pyx_mstate) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
23131
+ if (__Pyx_InitConstants(__pyx_mstate) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
23111
23132
  stringtab_initialized = 1;
23112
- if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
23133
+ if (__Pyx_InitGlobals() < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
23113
23134
  #if 0 || defined(__Pyx_CyFunction_USED) || defined(__Pyx_FusedFunction_USED) || defined(__Pyx_Coroutine_USED) || defined(__Pyx_Generator_USED) || defined(__Pyx_AsyncGen_USED)
23114
- if (__pyx_CommonTypesMetaclass_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
23135
+ if (__pyx_CommonTypesMetaclass_init(__pyx_m) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
23115
23136
  #endif
23116
23137
  #ifdef __Pyx_CyFunction_USED
23117
- if (__pyx_CyFunction_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
23138
+ if (__pyx_CyFunction_init(__pyx_m) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
23118
23139
  #endif
23119
23140
  #ifdef __Pyx_FusedFunction_USED
23120
- if (__pyx_FusedFunction_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
23141
+ if (__pyx_FusedFunction_init(__pyx_m) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
23121
23142
  #endif
23122
23143
  #ifdef __Pyx_Coroutine_USED
23123
- if (__pyx_Coroutine_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
23144
+ if (__pyx_Coroutine_init(__pyx_m) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
23124
23145
  #endif
23125
23146
  #ifdef __Pyx_Generator_USED
23126
- if (__pyx_Generator_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
23147
+ if (__pyx_Generator_init(__pyx_m) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
23127
23148
  #endif
23128
23149
  #ifdef __Pyx_AsyncGen_USED
23129
- if (__pyx_AsyncGen_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
23150
+ if (__pyx_AsyncGen_init(__pyx_m) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
23130
23151
  #endif
23131
23152
  /*--- Library function declarations ---*/
23132
23153
  if (__pyx_module_is_main_obliquetree__src__tree) {
23133
- if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_name_2, __pyx_mstate_global->__pyx_n_u_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
23154
+ if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_name_2, __pyx_mstate_global->__pyx_n_u_main) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
23134
23155
  }
23135
23156
  {
23136
23157
  PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error)
@@ -23139,10 +23160,10 @@ __Pyx_RefNannySetupContext("PyInit_tree", 0);
23139
23160
  }
23140
23161
  }
23141
23162
  /*--- Builtin init code ---*/
23142
- if (__Pyx_InitCachedBuiltins(__pyx_mstate) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
23163
+ if (__Pyx_InitCachedBuiltins(__pyx_mstate) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
23143
23164
  /*--- Constants init code ---*/
23144
- if (__Pyx_InitCachedConstants(__pyx_mstate) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
23145
- if (__Pyx_CreateCodeObjects(__pyx_mstate) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
23165
+ if (__Pyx_InitCachedConstants(__pyx_mstate) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
23166
+ if (__Pyx_CreateCodeObjects(__pyx_mstate) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
23146
23167
  /*--- Global type/function init code ---*/
23147
23168
  (void)__Pyx_modinit_global_init_code(__pyx_mstate);
23148
23169
  (void)__Pyx_modinit_variable_export_code(__pyx_mstate);
@@ -23293,7 +23314,7 @@ __Pyx_RefNannySetupContext("PyInit_tree", 0);
23293
23314
  */
23294
23315
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_collections_abc_Sequence, __pyx_mstate_global->__pyx_n_u_count); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 240, __pyx_L10_error)
23295
23316
  __Pyx_GOTREF(__pyx_t_5);
23296
- if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_array_type, __pyx_mstate_global->__pyx_n_u_count, __pyx_t_5) < 0) __PYX_ERR(1, 240, __pyx_L10_error)
23317
+ if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_array_type, __pyx_mstate_global->__pyx_n_u_count, __pyx_t_5) < (0)) __PYX_ERR(1, 240, __pyx_L10_error)
23297
23318
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
23298
23319
 
23299
23320
  /* "View.MemoryView":241
@@ -23305,7 +23326,7 @@ __Pyx_RefNannySetupContext("PyInit_tree", 0);
23305
23326
  */
23306
23327
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_collections_abc_Sequence, __pyx_mstate_global->__pyx_n_u_index); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 241, __pyx_L10_error)
23307
23328
  __Pyx_GOTREF(__pyx_t_5);
23308
- if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_array_type, __pyx_mstate_global->__pyx_n_u_index, __pyx_t_5) < 0) __PYX_ERR(1, 241, __pyx_L10_error)
23329
+ if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_array_type, __pyx_mstate_global->__pyx_n_u_index, __pyx_t_5) < (0)) __PYX_ERR(1, 241, __pyx_L10_error)
23309
23330
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
23310
23331
 
23311
23332
  /* "View.MemoryView":239
@@ -23515,7 +23536,7 @@ __Pyx_RefNannySetupContext("PyInit_tree", 0);
23515
23536
  */
23516
23537
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_collections_abc_Sequence, __pyx_mstate_global->__pyx_n_u_count); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 983, __pyx_L18_error)
23517
23538
  __Pyx_GOTREF(__pyx_t_5);
23518
- if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_memoryviewslice_type, __pyx_mstate_global->__pyx_n_u_count, __pyx_t_5) < 0) __PYX_ERR(1, 983, __pyx_L18_error)
23539
+ if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_memoryviewslice_type, __pyx_mstate_global->__pyx_n_u_count, __pyx_t_5) < (0)) __PYX_ERR(1, 983, __pyx_L18_error)
23519
23540
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
23520
23541
 
23521
23542
  /* "View.MemoryView":984
@@ -23527,7 +23548,7 @@ __Pyx_RefNannySetupContext("PyInit_tree", 0);
23527
23548
  */
23528
23549
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_collections_abc_Sequence, __pyx_mstate_global->__pyx_n_u_index); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 984, __pyx_L18_error)
23529
23550
  __Pyx_GOTREF(__pyx_t_5);
23530
- if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_memoryviewslice_type, __pyx_mstate_global->__pyx_n_u_index, __pyx_t_5) < 0) __PYX_ERR(1, 984, __pyx_L18_error)
23551
+ if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_memoryviewslice_type, __pyx_mstate_global->__pyx_n_u_index, __pyx_t_5) < (0)) __PYX_ERR(1, 984, __pyx_L18_error)
23531
23552
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
23532
23553
 
23533
23554
  /* "View.MemoryView":982
@@ -23682,7 +23703,7 @@ __Pyx_RefNannySetupContext("PyInit_tree", 0);
23682
23703
  */
23683
23704
  __pyx_t_5 = PyCFunction_NewEx(&__pyx_mdef_15View_dot_MemoryView_1__pyx_unpickle_Enum, NULL, __pyx_mstate_global->__pyx_n_u_View_MemoryView); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1, __pyx_L1_error)
23684
23705
  __Pyx_GOTREF(__pyx_t_5);
23685
- if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Enum, __pyx_t_5) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
23706
+ if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Enum, __pyx_t_5) < (0)) __PYX_ERR(1, 1, __pyx_L1_error)
23686
23707
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
23687
23708
 
23688
23709
  /* "obliquetree/src/tree.pyx":1
@@ -23692,7 +23713,7 @@ __Pyx_RefNannySetupContext("PyInit_tree", 0);
23692
23713
  */
23693
23714
  __pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1, __pyx_L1_error)
23694
23715
  __Pyx_GOTREF(__pyx_t_5);
23695
- if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_test, __pyx_t_5) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
23716
+ if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_test, __pyx_t_5) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
23696
23717
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
23697
23718
 
23698
23719
  /*--- Wrapped vars code ---*/
@@ -23883,7 +23904,7 @@ static int __Pyx_InitStrings(__Pyx_StringTabEntry const *t, PyObject **target, c
23883
23904
  static int __Pyx_InitCachedBuiltins(__pyx_mstatetype *__pyx_mstate) {
23884
23905
  CYTHON_UNUSED_VAR(__pyx_mstate);
23885
23906
  __pyx_builtin_MemoryError = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_MemoryError); if (!__pyx_builtin_MemoryError) __PYX_ERR(0, 50, __pyx_L1_error)
23886
- __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_range); if (!__pyx_builtin_range) __PYX_ERR(0, 156, __pyx_L1_error)
23907
+ __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_range); if (!__pyx_builtin_range) __PYX_ERR(0, 157, __pyx_L1_error)
23887
23908
  __pyx_builtin___import__ = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_import); if (!__pyx_builtin___import__) __PYX_ERR(1, 101, __pyx_L1_error)
23888
23909
  __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(1, 139, __pyx_L1_error)
23889
23910
  __pyx_builtin_enumerate = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_enumerate); if (!__pyx_builtin_enumerate) __PYX_ERR(1, 157, __pyx_L1_error)
@@ -24182,7 +24203,7 @@ __Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n)
24182
24203
  res = PyTuple_New(n);
24183
24204
  if (unlikely(res == NULL)) return NULL;
24184
24205
  for (i = 0; i < n; i++) {
24185
- if (unlikely(__Pyx_PyTuple_SET_ITEM(res, i, src[i]) < 0)) {
24206
+ if (unlikely(__Pyx_PyTuple_SET_ITEM(res, i, src[i]) < (0))) {
24186
24207
  Py_DECREF(res);
24187
24208
  return NULL;
24188
24209
  }
@@ -26920,6 +26941,7 @@ static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject
26920
26941
  changed = 1;
26921
26942
  }
26922
26943
  #endif // CYTHON_METH_FASTCALL
26944
+ #if !CYTHON_COMPILING_IN_PYPY
26923
26945
  else if (strcmp(memb->name, "__module__") == 0) {
26924
26946
  PyObject *descr;
26925
26947
  assert(memb->type == T_OBJECT);
@@ -26934,11 +26956,13 @@ static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject
26934
26956
  }
26935
26957
  changed = 1;
26936
26958
  }
26959
+ #endif // !CYTHON_COMPILING_IN_PYPY
26937
26960
  }
26938
26961
  memb++;
26939
26962
  }
26940
26963
  }
26941
26964
  #endif // !CYTHON_COMPILING_IN_LIMITED_API
26965
+ #if !CYTHON_COMPILING_IN_PYPY
26942
26966
  slot = spec->slots;
26943
26967
  while (slot && slot->slot && slot->slot != Py_tp_getset)
26944
26968
  slot++;
@@ -26970,6 +26994,7 @@ static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject
26970
26994
  ++getset;
26971
26995
  }
26972
26996
  }
26997
+ #endif // !CYTHON_COMPILING_IN_PYPY
26973
26998
  if (changed)
26974
26999
  PyType_Modified(type);
26975
27000
  #endif // PY_VERSION_HEX > 0x030900B1
@@ -27074,6 +27099,13 @@ try_unpack:
27074
27099
 
27075
27100
  /* PyObjectCallMethod0 */
27076
27101
  static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name) {
27102
+ #if CYTHON_VECTORCALL && (__PYX_LIMITED_VERSION_HEX >= 0x030C0000 || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x03090000))
27103
+ PyObject *args[1] = {obj};
27104
+ (void) __Pyx_PyObject_GetMethod;
27105
+ (void) __Pyx_PyObject_CallOneArg;
27106
+ (void) __Pyx_PyObject_CallNoArg;
27107
+ return PyObject_VectorcallMethod(method_name, args, 1 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL);
27108
+ #else
27077
27109
  PyObject *method = NULL, *result = NULL;
27078
27110
  int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method);
27079
27111
  if (likely(is_method)) {
@@ -27086,6 +27118,7 @@ static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name
27086
27118
  Py_DECREF(method);
27087
27119
  bad:
27088
27120
  return result;
27121
+ #endif
27089
27122
  }
27090
27123
 
27091
27124
  /* ValidateBasesTuple */
@@ -27515,15 +27548,15 @@ __PYX_GOOD:
27515
27548
  }
27516
27549
 
27517
27550
  /* TypeImport */
27518
- #ifndef __PYX_HAVE_RT_ImportType_3_1_2
27519
- #define __PYX_HAVE_RT_ImportType_3_1_2
27520
- static PyTypeObject *__Pyx_ImportType_3_1_2(PyObject *module, const char *module_name, const char *class_name,
27521
- size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_1_2 check_size)
27551
+ #ifndef __PYX_HAVE_RT_ImportType_3_1_6
27552
+ #define __PYX_HAVE_RT_ImportType_3_1_6
27553
+ static PyTypeObject *__Pyx_ImportType_3_1_6(PyObject *module, const char *module_name, const char *class_name,
27554
+ size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_1_6 check_size)
27522
27555
  {
27523
27556
  PyObject *result = 0;
27524
27557
  Py_ssize_t basicsize;
27525
27558
  Py_ssize_t itemsize;
27526
- #if CYTHON_COMPILING_IN_LIMITED_API
27559
+ #if defined(Py_LIMITED_API) || (defined(CYTHON_COMPILING_IN_LIMITED_API) && CYTHON_COMPILING_IN_LIMITED_API)
27527
27560
  PyObject *py_basicsize;
27528
27561
  PyObject *py_itemsize;
27529
27562
  #endif
@@ -27536,7 +27569,7 @@ static PyTypeObject *__Pyx_ImportType_3_1_2(PyObject *module, const char *module
27536
27569
  module_name, class_name);
27537
27570
  goto bad;
27538
27571
  }
27539
- #if !CYTHON_COMPILING_IN_LIMITED_API
27572
+ #if !( defined(Py_LIMITED_API) || (defined(CYTHON_COMPILING_IN_LIMITED_API) && CYTHON_COMPILING_IN_LIMITED_API) )
27540
27573
  basicsize = ((PyTypeObject *)result)->tp_basicsize;
27541
27574
  itemsize = ((PyTypeObject *)result)->tp_itemsize;
27542
27575
  #else
@@ -27574,7 +27607,7 @@ static PyTypeObject *__Pyx_ImportType_3_1_2(PyObject *module, const char *module
27574
27607
  module_name, class_name, size, basicsize+itemsize);
27575
27608
  goto bad;
27576
27609
  }
27577
- if (check_size == __Pyx_ImportType_CheckSize_Error_3_1_2 &&
27610
+ if (check_size == __Pyx_ImportType_CheckSize_Error_3_1_6 &&
27578
27611
  ((size_t)basicsize > size || (size_t)(basicsize + itemsize) < size)) {
27579
27612
  PyErr_Format(PyExc_ValueError,
27580
27613
  "%.200s.%.200s size changed, may indicate binary incompatibility. "
@@ -27582,7 +27615,7 @@ static PyTypeObject *__Pyx_ImportType_3_1_2(PyObject *module, const char *module
27582
27615
  module_name, class_name, size, basicsize, basicsize+itemsize);
27583
27616
  goto bad;
27584
27617
  }
27585
- else if (check_size == __Pyx_ImportType_CheckSize_Warn_3_1_2 && (size_t)basicsize > size) {
27618
+ else if (check_size == __Pyx_ImportType_CheckSize_Warn_3_1_6 && (size_t)basicsize > size) {
27586
27619
  if (PyErr_WarnFormat(NULL, 0,
27587
27620
  "%.200s.%.200s size changed, may indicate binary incompatibility. "
27588
27621
  "Expected %zd from C header, got %zd from PyObject",
@@ -29716,9 +29749,9 @@ bad:
29716
29749
  }
29717
29750
 
29718
29751
  /* FunctionImport */
29719
- #ifndef __PYX_HAVE_RT_ImportFunction_3_1_2
29720
- #define __PYX_HAVE_RT_ImportFunction_3_1_2
29721
- static int __Pyx_ImportFunction_3_1_2(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
29752
+ #ifndef __PYX_HAVE_RT_ImportFunction_3_1_6
29753
+ #define __PYX_HAVE_RT_ImportFunction_3_1_6
29754
+ static int __Pyx_ImportFunction_3_1_6(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
29722
29755
  PyObject *d = 0;
29723
29756
  PyObject *cobj = 0;
29724
29757
  union {
@@ -30010,6 +30043,17 @@ static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) {
30010
30043
  static CYTHON_INLINE PyObject * __Pyx_PyLong_FromSize_t(size_t ival) {
30011
30044
  return PyLong_FromSize_t(ival);
30012
30045
  }
30046
+ #if CYTHON_USE_PYLONG_INTERNALS
30047
+ static CYTHON_INLINE int __Pyx_PyLong_CompactAsLong(PyObject *x, long *return_value) {
30048
+ if (unlikely(!__Pyx_PyLong_IsCompact(x)))
30049
+ return 0;
30050
+ Py_ssize_t value = __Pyx_PyLong_CompactValue(x);
30051
+ if ((sizeof(long) < sizeof(Py_ssize_t)) && unlikely(value != (long) value))
30052
+ return 0;
30053
+ *return_value = (long) value;
30054
+ return 1;
30055
+ }
30056
+ #endif
30013
30057
 
30014
30058
 
30015
30059
  /* MultiPhaseInitModuleState */