summaryrefslogtreecommitdiffstats
path: root/contrib/python/numpy/include
diff options
context:
space:
mode:
authormaxim-yurchuk <[email protected]>2024-10-09 12:29:46 +0300
committermaxim-yurchuk <[email protected]>2024-10-09 13:14:22 +0300
commit9731d8a4bb7ee2cc8554eaf133bb85498a4c7d80 (patch)
treea8fb3181d5947c0d78cf402aa56e686130179049 /contrib/python/numpy/include
parenta44b779cd359f06c3ebbef4ec98c6b38609d9d85 (diff)
publishFullContrib: true for ydb
<HIDDEN_URL> commit_hash:c82a80ac4594723cebf2c7387dec9c60217f603e
Diffstat (limited to 'contrib/python/numpy/include')
-rw-r--r--contrib/python/numpy/include/numpy/core/feature_detection_cmath.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/feature_detection_locale.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/feature_detection_math.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/feature_detection_stdio.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/include/numpy/__multiarray_api.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/include/numpy/__ufunc_api.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/include/numpy/_neighborhood_iterator_imp.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/include/numpy/_numpyconfig-linux.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/include/numpy/_numpyconfig-osx-arm64.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/include/numpy/_numpyconfig-osx-x86_64.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/include/numpy/_numpyconfig-win.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/include/numpy/_numpyconfig.darwin.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/include/numpy/_numpyconfig.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/include/numpy/_numpyconfig.linux.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/include/numpy/_numpyconfig.windows.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/include/numpy/_umath_doc_generated.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/include/numpy/config-linux-aarch64.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/include/numpy/config-linux-ppc64.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/include/numpy/config-linux-x86_64.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/include/numpy/config-osx-arm64.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/include/numpy/config-osx-x86_64.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/include/numpy/config-win-x86_64.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/include/numpy/config.darwin.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/include/numpy/config.linux.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/include/numpy/config.windows.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/include/numpy/npy_1_7_deprecated_api.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/include/numpy/npy_interrupt.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/include/numpy/old_defines.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/include/numpy/oldnumeric.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/_simd/_simd.dispatch.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/_simd/_simd.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/_simd/_simd_inc.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/float_status.hpp5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/half.hpp5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/half_private.hpp5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/meta.hpp5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/npdef.hpp5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/npstd.hpp5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/npy_cblas_base.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/npy_cpuinfo_parser.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/avx2/arithmetic.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/avx2/avx2.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/avx2/conversion.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/avx2/math.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/avx2/memory.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/avx2/misc.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/avx2/operators.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/avx2/reorder.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/avx2/utils.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/avx512/arithmetic.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/avx512/avx512.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/avx512/conversion.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/avx512/maskop.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/avx512/math.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/avx512/memory.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/avx512/misc.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/avx512/operators.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/avx512/reorder.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/avx512/utils.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/emulate_maskop.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/intdiv.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/neon/arithmetic.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/neon/conversion.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/neon/math.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/neon/memory.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/neon/misc.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/neon/neon.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/neon/operators.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/neon/reorder.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/simd.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/simd_utils.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/sse/arithmetic.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/sse/conversion.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/sse/math.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/sse/memory.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/sse/misc.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/sse/operators.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/sse/reorder.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/sse/sse.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/sse/utils.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/vec/arithmetic.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/vec/conversion.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/vec/math.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/vec/memory.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/vec/misc.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/vec/operators.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/vec/reorder.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/vec/utils.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/simd/vec/vec.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/common/utils.hpp5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/multiarray/_datetime.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/multiarray/argfunc.dispatch.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/multiarray/arrayobject.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/multiarray/buffer.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/multiarray/calculation.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/multiarray/compiled_base.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/multiarray/convert.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/multiarray/datetime_busday.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/multiarray/datetime_busdaycal.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/multiarray/datetime_strings.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/multiarray/descriptor.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/multiarray/dragon4.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/multiarray/dtype_traversal.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/multiarray/einsum_debug.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/multiarray/einsum_sumprod.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/multiarray/experimental_public_dtype_api.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/multiarray/getset.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/multiarray/hashdescr.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/multiarray/item_selection.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/multiarray/iterators.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/multiarray/legacy_dtype_implementation.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/multiarray/mapping.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/multiarray/methods.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/multiarray/multiarraymodule.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/multiarray/nditer_pywrap.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/multiarray/npy_buffer.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/multiarray/refcount.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/multiarray/sequence.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/multiarray/strfuncs.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/multiarray/temp_elide.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/multiarray/textreading/readtext.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/multiarray/typeinfo.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/multiarray/usertypes.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/multiarray/vdot.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/npymath/npy_math_common.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/npymath/npy_math_private.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/npysort/npysort_common.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/npysort/npysort_heapsort.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/npysort/simd_qsort.dispatch.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/npysort/simd_qsort.hpp5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/npysort/simd_qsort_16bit.dispatch.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/benchmarks/bench-argsort.hpp5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/benchmarks/bench-partial-qsort.hpp5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/benchmarks/bench-qselect.hpp5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/benchmarks/bench-qsort-common.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/benchmarks/bench-qsort.hpp5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-16bit-common.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-16bit-qsort.hpp5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-32bit-qsort.hpp5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-64bit-argsort.hpp5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-64bit-common.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-64bit-keyvalue-networks.hpp5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-64bit-keyvaluesort.hpp5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-64bit-qsort.hpp5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-common-argsort.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-common-qsort.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512fp16-16bit-qsort.hpp5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/tests/test-partial-qsort.hpp5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/tests/test-qselect.hpp5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/tests/test-qsort-common.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/tests/test-qsort-fp.hpp5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/tests/test-qsort.hpp5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/utils/cpuinfo.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/utils/rand_array.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/umath/_umath_tests.dispatch.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/umath/cpuid.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/umath/dispatching.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/umath/extobj.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/umath/fast_loop_macros.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/umath/legacy_array_method.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/umath/loops_modulo.dispatch.c5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/umath/loops_utils.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/umath/npy_simd_data.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/umath/override.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/umath/reduction.h5
-rw-r--r--contrib/python/numpy/include/numpy/core/src/umath/string_ufuncs.h5
-rw-r--r--contrib/python/numpy/include/numpy/distutils/include/npy_cpu_dispatch_config.aarch64.h5
-rw-r--r--contrib/python/numpy/include/numpy/distutils/include/npy_cpu_dispatch_config.x86_64.h5
-rw-r--r--contrib/python/numpy/include/numpy/fft/fftpack.h5
-rw-r--r--contrib/python/numpy/include/numpy/linalg/lapack_lite/f2c.h5
-rw-r--r--contrib/python/numpy/include/numpy/linalg/lapack_lite/lapack_lite_names.h5
-rw-r--r--contrib/python/numpy/include/numpy/random/src/distributions/logfactorial.h5
-rw-r--r--contrib/python/numpy/include/numpy/random/src/distributions/ziggurat_constants.h5
-rw-r--r--contrib/python/numpy/include/numpy/random/src/mt19937/mt19937-jump.h5
-rw-r--r--contrib/python/numpy/include/numpy/random/src/mt19937/randomkit.h5
-rw-r--r--contrib/python/numpy/include/numpy/random/src/pcg64/pcg64.orig.h5
-rw-r--r--contrib/python/numpy/include/numpy/random/src/splitmix64/splitmix64.h5
-rw-r--r--contrib/python/numpy/include/ya.make19
178 files changed, 904 insertions, 0 deletions
diff --git a/contrib/python/numpy/include/numpy/core/feature_detection_cmath.h b/contrib/python/numpy/include/numpy/core/feature_detection_cmath.h
new file mode 100644
index 00000000000..1c24d1824cc
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/feature_detection_cmath.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/feature_detection_cmath.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/feature_detection_cmath.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/feature_detection_locale.h b/contrib/python/numpy/include/numpy/core/feature_detection_locale.h
new file mode 100644
index 00000000000..48d8a439322
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/feature_detection_locale.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/feature_detection_locale.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/feature_detection_locale.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/feature_detection_math.h b/contrib/python/numpy/include/numpy/core/feature_detection_math.h
new file mode 100644
index 00000000000..5c946b6a54c
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/feature_detection_math.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/feature_detection_math.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/feature_detection_math.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/feature_detection_stdio.h b/contrib/python/numpy/include/numpy/core/feature_detection_stdio.h
new file mode 100644
index 00000000000..b24b29c55be
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/feature_detection_stdio.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/feature_detection_stdio.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/feature_detection_stdio.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/include/numpy/__multiarray_api.h b/contrib/python/numpy/include/numpy/core/include/numpy/__multiarray_api.h
new file mode 100644
index 00000000000..704e17b587c
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/include/numpy/__multiarray_api.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/include/numpy/__multiarray_api.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/include/numpy/__multiarray_api.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/include/numpy/__ufunc_api.h b/contrib/python/numpy/include/numpy/core/include/numpy/__ufunc_api.h
new file mode 100644
index 00000000000..6785df6d886
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/include/numpy/__ufunc_api.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/include/numpy/__ufunc_api.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/include/numpy/__ufunc_api.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/include/numpy/_neighborhood_iterator_imp.h b/contrib/python/numpy/include/numpy/core/include/numpy/_neighborhood_iterator_imp.h
new file mode 100644
index 00000000000..be9857e8e2e
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/include/numpy/_neighborhood_iterator_imp.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/include/numpy/_neighborhood_iterator_imp.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/include/numpy/_neighborhood_iterator_imp.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/include/numpy/_numpyconfig-linux.h b/contrib/python/numpy/include/numpy/core/include/numpy/_numpyconfig-linux.h
new file mode 100644
index 00000000000..44d5262b387
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/include/numpy/_numpyconfig-linux.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/include/numpy/_numpyconfig-linux.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/include/numpy/_numpyconfig-linux.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/include/numpy/_numpyconfig-osx-arm64.h b/contrib/python/numpy/include/numpy/core/include/numpy/_numpyconfig-osx-arm64.h
new file mode 100644
index 00000000000..63ef09b4a5a
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/include/numpy/_numpyconfig-osx-arm64.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/include/numpy/_numpyconfig-osx-arm64.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/include/numpy/_numpyconfig-osx-arm64.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/include/numpy/_numpyconfig-osx-x86_64.h b/contrib/python/numpy/include/numpy/core/include/numpy/_numpyconfig-osx-x86_64.h
new file mode 100644
index 00000000000..70cbc4ba46b
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/include/numpy/_numpyconfig-osx-x86_64.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/include/numpy/_numpyconfig-osx-x86_64.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/include/numpy/_numpyconfig-osx-x86_64.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/include/numpy/_numpyconfig-win.h b/contrib/python/numpy/include/numpy/core/include/numpy/_numpyconfig-win.h
new file mode 100644
index 00000000000..43b27500c4e
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/include/numpy/_numpyconfig-win.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/include/numpy/_numpyconfig-win.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/include/numpy/_numpyconfig-win.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/include/numpy/_numpyconfig.darwin.h b/contrib/python/numpy/include/numpy/core/include/numpy/_numpyconfig.darwin.h
new file mode 100644
index 00000000000..133454fb83b
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/include/numpy/_numpyconfig.darwin.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#error #include <contrib/python/numpy/py3/numpy/core/include/numpy/_numpyconfig.darwin.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/include/numpy/_numpyconfig.darwin.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/include/numpy/_numpyconfig.h b/contrib/python/numpy/include/numpy/core/include/numpy/_numpyconfig.h
new file mode 100644
index 00000000000..b1e695e259b
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/include/numpy/_numpyconfig.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/include/numpy/_numpyconfig.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/include/numpy/_numpyconfig.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/include/numpy/_numpyconfig.linux.h b/contrib/python/numpy/include/numpy/core/include/numpy/_numpyconfig.linux.h
new file mode 100644
index 00000000000..e2ef05c3608
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/include/numpy/_numpyconfig.linux.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#error #include <contrib/python/numpy/py3/numpy/core/include/numpy/_numpyconfig.linux.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/include/numpy/_numpyconfig.linux.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/include/numpy/_numpyconfig.windows.h b/contrib/python/numpy/include/numpy/core/include/numpy/_numpyconfig.windows.h
new file mode 100644
index 00000000000..58e7c28cbe4
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/include/numpy/_numpyconfig.windows.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#error #include <contrib/python/numpy/py3/numpy/core/include/numpy/_numpyconfig.windows.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/include/numpy/_numpyconfig.windows.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/include/numpy/_umath_doc_generated.h b/contrib/python/numpy/include/numpy/core/include/numpy/_umath_doc_generated.h
new file mode 100644
index 00000000000..063303bdc1f
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/include/numpy/_umath_doc_generated.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/include/numpy/_umath_doc_generated.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/include/numpy/_umath_doc_generated.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/include/numpy/config-linux-aarch64.h b/contrib/python/numpy/include/numpy/core/include/numpy/config-linux-aarch64.h
new file mode 100644
index 00000000000..4ffead607e5
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/include/numpy/config-linux-aarch64.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/include/numpy/config-linux-aarch64.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/include/numpy/config-linux-aarch64.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/include/numpy/config-linux-ppc64.h b/contrib/python/numpy/include/numpy/core/include/numpy/config-linux-ppc64.h
new file mode 100644
index 00000000000..52a50f5f4af
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/include/numpy/config-linux-ppc64.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/include/numpy/config-linux-ppc64.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/include/numpy/config-linux-ppc64.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/include/numpy/config-linux-x86_64.h b/contrib/python/numpy/include/numpy/core/include/numpy/config-linux-x86_64.h
new file mode 100644
index 00000000000..222d5e3eb4c
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/include/numpy/config-linux-x86_64.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/include/numpy/config-linux-x86_64.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/include/numpy/config-linux-x86_64.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/include/numpy/config-osx-arm64.h b/contrib/python/numpy/include/numpy/core/include/numpy/config-osx-arm64.h
new file mode 100644
index 00000000000..e6da63e6d03
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/include/numpy/config-osx-arm64.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/include/numpy/config-osx-arm64.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/include/numpy/config-osx-arm64.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/include/numpy/config-osx-x86_64.h b/contrib/python/numpy/include/numpy/core/include/numpy/config-osx-x86_64.h
new file mode 100644
index 00000000000..2aec8686496
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/include/numpy/config-osx-x86_64.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/include/numpy/config-osx-x86_64.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/include/numpy/config-osx-x86_64.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/include/numpy/config-win-x86_64.h b/contrib/python/numpy/include/numpy/core/include/numpy/config-win-x86_64.h
new file mode 100644
index 00000000000..fa789661d29
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/include/numpy/config-win-x86_64.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/include/numpy/config-win-x86_64.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/include/numpy/config-win-x86_64.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/include/numpy/config.darwin.h b/contrib/python/numpy/include/numpy/core/include/numpy/config.darwin.h
new file mode 100644
index 00000000000..d3eed4a3192
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/include/numpy/config.darwin.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#error #include <contrib/python/numpy/py3/numpy/core/include/numpy/config.darwin.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/include/numpy/config.darwin.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/include/numpy/config.linux.h b/contrib/python/numpy/include/numpy/core/include/numpy/config.linux.h
new file mode 100644
index 00000000000..1ceb3dfbb06
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/include/numpy/config.linux.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#error #include <contrib/python/numpy/py3/numpy/core/include/numpy/config.linux.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/include/numpy/config.linux.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/include/numpy/config.windows.h b/contrib/python/numpy/include/numpy/core/include/numpy/config.windows.h
new file mode 100644
index 00000000000..2795fbaa9a0
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/include/numpy/config.windows.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#error #include <contrib/python/numpy/py3/numpy/core/include/numpy/config.windows.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/include/numpy/config.windows.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/include/numpy/npy_1_7_deprecated_api.h b/contrib/python/numpy/include/numpy/core/include/numpy/npy_1_7_deprecated_api.h
new file mode 100644
index 00000000000..cb15e5a3b62
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/include/numpy/npy_1_7_deprecated_api.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/include/numpy/npy_1_7_deprecated_api.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/include/numpy/npy_1_7_deprecated_api.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/include/numpy/npy_interrupt.h b/contrib/python/numpy/include/numpy/core/include/numpy/npy_interrupt.h
new file mode 100644
index 00000000000..e56d1f5db9d
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/include/numpy/npy_interrupt.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/include/numpy/npy_interrupt.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/include/numpy/npy_interrupt.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/include/numpy/old_defines.h b/contrib/python/numpy/include/numpy/core/include/numpy/old_defines.h
new file mode 100644
index 00000000000..c6af8d9def5
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/include/numpy/old_defines.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/include/numpy/old_defines.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/include/numpy/old_defines.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/include/numpy/oldnumeric.h b/contrib/python/numpy/include/numpy/core/include/numpy/oldnumeric.h
new file mode 100644
index 00000000000..1e9c75cc33c
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/include/numpy/oldnumeric.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/include/numpy/oldnumeric.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/include/numpy/oldnumeric.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/_simd/_simd.dispatch.h b/contrib/python/numpy/include/numpy/core/src/_simd/_simd.dispatch.h
new file mode 100644
index 00000000000..fc59052238a
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/_simd/_simd.dispatch.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/_simd/_simd.dispatch.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/_simd/_simd.dispatch.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/_simd/_simd.h b/contrib/python/numpy/include/numpy/core/src/_simd/_simd.h
new file mode 100644
index 00000000000..f3d60f918ab
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/_simd/_simd.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/_simd/_simd.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/_simd/_simd.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/_simd/_simd_inc.h b/contrib/python/numpy/include/numpy/core/src/_simd/_simd_inc.h
new file mode 100644
index 00000000000..7397bdc1f5c
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/_simd/_simd_inc.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/_simd/_simd_inc.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/_simd/_simd_inc.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/float_status.hpp b/contrib/python/numpy/include/numpy/core/src/common/float_status.hpp
new file mode 100644
index 00000000000..f54c27864c3
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/float_status.hpp
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/float_status.hpp>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/float_status.hpp>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/half.hpp b/contrib/python/numpy/include/numpy/core/src/common/half.hpp
new file mode 100644
index 00000000000..9eb29fb4e3d
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/half.hpp
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/half.hpp>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/half.hpp>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/half_private.hpp b/contrib/python/numpy/include/numpy/core/src/common/half_private.hpp
new file mode 100644
index 00000000000..a51a2afb0f8
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/half_private.hpp
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/half_private.hpp>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/half_private.hpp>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/meta.hpp b/contrib/python/numpy/include/numpy/core/src/common/meta.hpp
new file mode 100644
index 00000000000..9360d3ec2ca
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/meta.hpp
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/meta.hpp>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/meta.hpp>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/npdef.hpp b/contrib/python/numpy/include/numpy/core/src/common/npdef.hpp
new file mode 100644
index 00000000000..a1e4cb16fd8
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/npdef.hpp
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/npdef.hpp>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/npdef.hpp>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/npstd.hpp b/contrib/python/numpy/include/numpy/core/src/common/npstd.hpp
new file mode 100644
index 00000000000..b18879aacec
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/npstd.hpp
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/npstd.hpp>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/npstd.hpp>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/npy_cblas_base.h b/contrib/python/numpy/include/numpy/core/src/common/npy_cblas_base.h
new file mode 100644
index 00000000000..a2f2b857393
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/npy_cblas_base.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/npy_cblas_base.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/npy_cblas_base.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/npy_cpuinfo_parser.h b/contrib/python/numpy/include/numpy/core/src/common/npy_cpuinfo_parser.h
new file mode 100644
index 00000000000..786f7ce58b7
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/npy_cpuinfo_parser.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/npy_cpuinfo_parser.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/npy_cpuinfo_parser.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/avx2/arithmetic.h b/contrib/python/numpy/include/numpy/core/src/common/simd/avx2/arithmetic.h
new file mode 100644
index 00000000000..1a900906bcb
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/avx2/arithmetic.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/avx2/arithmetic.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/avx2/arithmetic.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/avx2/avx2.h b/contrib/python/numpy/include/numpy/core/src/common/simd/avx2/avx2.h
new file mode 100644
index 00000000000..070011d476a
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/avx2/avx2.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/avx2/avx2.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/avx2/avx2.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/avx2/conversion.h b/contrib/python/numpy/include/numpy/core/src/common/simd/avx2/conversion.h
new file mode 100644
index 00000000000..5d6c6481ead
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/avx2/conversion.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/avx2/conversion.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/avx2/conversion.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/avx2/math.h b/contrib/python/numpy/include/numpy/core/src/common/simd/avx2/math.h
new file mode 100644
index 00000000000..7bc1899045c
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/avx2/math.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/avx2/math.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/avx2/math.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/avx2/memory.h b/contrib/python/numpy/include/numpy/core/src/common/simd/avx2/memory.h
new file mode 100644
index 00000000000..0705c4a6471
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/avx2/memory.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/avx2/memory.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/avx2/memory.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/avx2/misc.h b/contrib/python/numpy/include/numpy/core/src/common/simd/avx2/misc.h
new file mode 100644
index 00000000000..9bd32194e52
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/avx2/misc.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/avx2/misc.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/avx2/misc.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/avx2/operators.h b/contrib/python/numpy/include/numpy/core/src/common/simd/avx2/operators.h
new file mode 100644
index 00000000000..73daace51ff
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/avx2/operators.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/avx2/operators.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/avx2/operators.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/avx2/reorder.h b/contrib/python/numpy/include/numpy/core/src/common/simd/avx2/reorder.h
new file mode 100644
index 00000000000..1f400d1a328
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/avx2/reorder.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/avx2/reorder.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/avx2/reorder.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/avx2/utils.h b/contrib/python/numpy/include/numpy/core/src/common/simd/avx2/utils.h
new file mode 100644
index 00000000000..c47b55439db
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/avx2/utils.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/avx2/utils.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/avx2/utils.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/avx512/arithmetic.h b/contrib/python/numpy/include/numpy/core/src/common/simd/avx512/arithmetic.h
new file mode 100644
index 00000000000..1ea858a5fd7
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/avx512/arithmetic.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/avx512/arithmetic.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/avx512/arithmetic.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/avx512/avx512.h b/contrib/python/numpy/include/numpy/core/src/common/simd/avx512/avx512.h
new file mode 100644
index 00000000000..70594caaf7e
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/avx512/avx512.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/avx512/avx512.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/avx512/avx512.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/avx512/conversion.h b/contrib/python/numpy/include/numpy/core/src/common/simd/avx512/conversion.h
new file mode 100644
index 00000000000..9c8097f80e2
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/avx512/conversion.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/avx512/conversion.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/avx512/conversion.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/avx512/maskop.h b/contrib/python/numpy/include/numpy/core/src/common/simd/avx512/maskop.h
new file mode 100644
index 00000000000..718290de668
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/avx512/maskop.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/avx512/maskop.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/avx512/maskop.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/avx512/math.h b/contrib/python/numpy/include/numpy/core/src/common/simd/avx512/math.h
new file mode 100644
index 00000000000..ab8356e78e4
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/avx512/math.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/avx512/math.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/avx512/math.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/avx512/memory.h b/contrib/python/numpy/include/numpy/core/src/common/simd/avx512/memory.h
new file mode 100644
index 00000000000..583b11720d0
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/avx512/memory.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/avx512/memory.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/avx512/memory.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/avx512/misc.h b/contrib/python/numpy/include/numpy/core/src/common/simd/avx512/misc.h
new file mode 100644
index 00000000000..c84e64cfff7
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/avx512/misc.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/avx512/misc.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/avx512/misc.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/avx512/operators.h b/contrib/python/numpy/include/numpy/core/src/common/simd/avx512/operators.h
new file mode 100644
index 00000000000..1b6f30739f3
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/avx512/operators.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/avx512/operators.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/avx512/operators.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/avx512/reorder.h b/contrib/python/numpy/include/numpy/core/src/common/simd/avx512/reorder.h
new file mode 100644
index 00000000000..3540c16e176
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/avx512/reorder.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/avx512/reorder.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/avx512/reorder.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/avx512/utils.h b/contrib/python/numpy/include/numpy/core/src/common/simd/avx512/utils.h
new file mode 100644
index 00000000000..4b0b5a93c01
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/avx512/utils.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/avx512/utils.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/avx512/utils.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/emulate_maskop.h b/contrib/python/numpy/include/numpy/core/src/common/simd/emulate_maskop.h
new file mode 100644
index 00000000000..4a9f7b84a97
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/emulate_maskop.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/emulate_maskop.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/emulate_maskop.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/intdiv.h b/contrib/python/numpy/include/numpy/core/src/common/simd/intdiv.h
new file mode 100644
index 00000000000..fb5ea01c4e0
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/intdiv.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/intdiv.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/intdiv.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/neon/arithmetic.h b/contrib/python/numpy/include/numpy/core/src/common/simd/neon/arithmetic.h
new file mode 100644
index 00000000000..fbb6f0ee81e
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/neon/arithmetic.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/neon/arithmetic.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/neon/arithmetic.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/neon/conversion.h b/contrib/python/numpy/include/numpy/core/src/common/simd/neon/conversion.h
new file mode 100644
index 00000000000..e03533df947
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/neon/conversion.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/neon/conversion.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/neon/conversion.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/neon/math.h b/contrib/python/numpy/include/numpy/core/src/common/simd/neon/math.h
new file mode 100644
index 00000000000..c2a7acfcf08
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/neon/math.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/neon/math.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/neon/math.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/neon/memory.h b/contrib/python/numpy/include/numpy/core/src/common/simd/neon/memory.h
new file mode 100644
index 00000000000..ea9e0118969
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/neon/memory.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/neon/memory.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/neon/memory.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/neon/misc.h b/contrib/python/numpy/include/numpy/core/src/common/simd/neon/misc.h
new file mode 100644
index 00000000000..221f66846ff
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/neon/misc.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/neon/misc.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/neon/misc.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/neon/neon.h b/contrib/python/numpy/include/numpy/core/src/common/simd/neon/neon.h
new file mode 100644
index 00000000000..e674481409a
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/neon/neon.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/neon/neon.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/neon/neon.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/neon/operators.h b/contrib/python/numpy/include/numpy/core/src/common/simd/neon/operators.h
new file mode 100644
index 00000000000..c51848103d4
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/neon/operators.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/neon/operators.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/neon/operators.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/neon/reorder.h b/contrib/python/numpy/include/numpy/core/src/common/simd/neon/reorder.h
new file mode 100644
index 00000000000..e31d8ef62b2
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/neon/reorder.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/neon/reorder.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/neon/reorder.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/simd.h b/contrib/python/numpy/include/numpy/core/src/common/simd/simd.h
new file mode 100644
index 00000000000..ff876a9df0c
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/simd.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/simd.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/simd.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/simd_utils.h b/contrib/python/numpy/include/numpy/core/src/common/simd/simd_utils.h
new file mode 100644
index 00000000000..e0a4df7e435
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/simd_utils.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/simd_utils.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/simd_utils.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/sse/arithmetic.h b/contrib/python/numpy/include/numpy/core/src/common/simd/sse/arithmetic.h
new file mode 100644
index 00000000000..4ac7024ab64
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/sse/arithmetic.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/sse/arithmetic.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/sse/arithmetic.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/sse/conversion.h b/contrib/python/numpy/include/numpy/core/src/common/simd/sse/conversion.h
new file mode 100644
index 00000000000..027d54363b0
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/sse/conversion.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/sse/conversion.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/sse/conversion.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/sse/math.h b/contrib/python/numpy/include/numpy/core/src/common/simd/sse/math.h
new file mode 100644
index 00000000000..b7d7b425292
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/sse/math.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/sse/math.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/sse/math.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/sse/memory.h b/contrib/python/numpy/include/numpy/core/src/common/simd/sse/memory.h
new file mode 100644
index 00000000000..6325cdccce6
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/sse/memory.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/sse/memory.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/sse/memory.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/sse/misc.h b/contrib/python/numpy/include/numpy/core/src/common/simd/sse/misc.h
new file mode 100644
index 00000000000..f37d3be694d
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/sse/misc.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/sse/misc.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/sse/misc.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/sse/operators.h b/contrib/python/numpy/include/numpy/core/src/common/simd/sse/operators.h
new file mode 100644
index 00000000000..19966ee3b82
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/sse/operators.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/sse/operators.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/sse/operators.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/sse/reorder.h b/contrib/python/numpy/include/numpy/core/src/common/simd/sse/reorder.h
new file mode 100644
index 00000000000..22ab5afe1f2
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/sse/reorder.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/sse/reorder.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/sse/reorder.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/sse/sse.h b/contrib/python/numpy/include/numpy/core/src/common/simd/sse/sse.h
new file mode 100644
index 00000000000..72e177228f3
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/sse/sse.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/sse/sse.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/sse/sse.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/sse/utils.h b/contrib/python/numpy/include/numpy/core/src/common/simd/sse/utils.h
new file mode 100644
index 00000000000..a0e211337c5
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/sse/utils.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/sse/utils.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/sse/utils.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/vec/arithmetic.h b/contrib/python/numpy/include/numpy/core/src/common/simd/vec/arithmetic.h
new file mode 100644
index 00000000000..be7309bf832
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/vec/arithmetic.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/vec/arithmetic.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/vec/arithmetic.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/vec/conversion.h b/contrib/python/numpy/include/numpy/core/src/common/simd/vec/conversion.h
new file mode 100644
index 00000000000..c6bf4638562
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/vec/conversion.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/vec/conversion.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/vec/conversion.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/vec/math.h b/contrib/python/numpy/include/numpy/core/src/common/simd/vec/math.h
new file mode 100644
index 00000000000..59de95e87f5
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/vec/math.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/vec/math.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/vec/math.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/vec/memory.h b/contrib/python/numpy/include/numpy/core/src/common/simd/vec/memory.h
new file mode 100644
index 00000000000..106918f4c7a
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/vec/memory.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/vec/memory.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/vec/memory.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/vec/misc.h b/contrib/python/numpy/include/numpy/core/src/common/simd/vec/misc.h
new file mode 100644
index 00000000000..5934f7270f5
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/vec/misc.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/vec/misc.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/vec/misc.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/vec/operators.h b/contrib/python/numpy/include/numpy/core/src/common/simd/vec/operators.h
new file mode 100644
index 00000000000..fc62117dd8b
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/vec/operators.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/vec/operators.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/vec/operators.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/vec/reorder.h b/contrib/python/numpy/include/numpy/core/src/common/simd/vec/reorder.h
new file mode 100644
index 00000000000..864e22423b1
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/vec/reorder.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/vec/reorder.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/vec/reorder.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/vec/utils.h b/contrib/python/numpy/include/numpy/core/src/common/simd/vec/utils.h
new file mode 100644
index 00000000000..ced29076c55
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/vec/utils.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/vec/utils.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/vec/utils.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/simd/vec/vec.h b/contrib/python/numpy/include/numpy/core/src/common/simd/vec/vec.h
new file mode 100644
index 00000000000..6355be90725
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/simd/vec/vec.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/simd/vec/vec.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/simd/vec/vec.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/common/utils.hpp b/contrib/python/numpy/include/numpy/core/src/common/utils.hpp
new file mode 100644
index 00000000000..ea5f78257e6
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/common/utils.hpp
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/common/utils.hpp>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/common/utils.hpp>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/multiarray/_datetime.h b/contrib/python/numpy/include/numpy/core/src/multiarray/_datetime.h
new file mode 100644
index 00000000000..3aba6ec97c7
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/multiarray/_datetime.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/multiarray/_datetime.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/src/multiarray/_datetime.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/multiarray/argfunc.dispatch.h b/contrib/python/numpy/include/numpy/core/src/multiarray/argfunc.dispatch.h
new file mode 100644
index 00000000000..8e0829a2139
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/multiarray/argfunc.dispatch.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/multiarray/argfunc.dispatch.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/multiarray/argfunc.dispatch.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/multiarray/arrayobject.h b/contrib/python/numpy/include/numpy/core/src/multiarray/arrayobject.h
new file mode 100644
index 00000000000..7d961932dc7
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/multiarray/arrayobject.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/multiarray/arrayobject.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/src/multiarray/arrayobject.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/multiarray/buffer.h b/contrib/python/numpy/include/numpy/core/src/multiarray/buffer.h
new file mode 100644
index 00000000000..fedf041292d
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/multiarray/buffer.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#error #include <contrib/python/numpy/py3/numpy/core/src/multiarray/buffer.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/src/multiarray/buffer.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/multiarray/calculation.h b/contrib/python/numpy/include/numpy/core/src/multiarray/calculation.h
new file mode 100644
index 00000000000..21f86a39553
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/multiarray/calculation.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/multiarray/calculation.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/src/multiarray/calculation.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/multiarray/compiled_base.h b/contrib/python/numpy/include/numpy/core/src/multiarray/compiled_base.h
new file mode 100644
index 00000000000..a180c93e27f
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/multiarray/compiled_base.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/multiarray/compiled_base.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/src/multiarray/compiled_base.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/multiarray/convert.h b/contrib/python/numpy/include/numpy/core/src/multiarray/convert.h
new file mode 100644
index 00000000000..187d9287e7e
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/multiarray/convert.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/multiarray/convert.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/src/multiarray/convert.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/multiarray/datetime_busday.h b/contrib/python/numpy/include/numpy/core/src/multiarray/datetime_busday.h
new file mode 100644
index 00000000000..39b6f705be2
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/multiarray/datetime_busday.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/multiarray/datetime_busday.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/src/multiarray/datetime_busday.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/multiarray/datetime_busdaycal.h b/contrib/python/numpy/include/numpy/core/src/multiarray/datetime_busdaycal.h
new file mode 100644
index 00000000000..272fb8b5590
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/multiarray/datetime_busdaycal.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/multiarray/datetime_busdaycal.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/src/multiarray/datetime_busdaycal.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/multiarray/datetime_strings.h b/contrib/python/numpy/include/numpy/core/src/multiarray/datetime_strings.h
new file mode 100644
index 00000000000..e651a2eed64
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/multiarray/datetime_strings.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/multiarray/datetime_strings.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/src/multiarray/datetime_strings.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/multiarray/descriptor.h b/contrib/python/numpy/include/numpy/core/src/multiarray/descriptor.h
new file mode 100644
index 00000000000..2443d506923
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/multiarray/descriptor.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/multiarray/descriptor.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/src/multiarray/descriptor.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/multiarray/dragon4.h b/contrib/python/numpy/include/numpy/core/src/multiarray/dragon4.h
new file mode 100644
index 00000000000..0c79b9509fd
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/multiarray/dragon4.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/multiarray/dragon4.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/src/multiarray/dragon4.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/multiarray/dtype_traversal.h b/contrib/python/numpy/include/numpy/core/src/multiarray/dtype_traversal.h
new file mode 100644
index 00000000000..ea7a722b1b5
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/multiarray/dtype_traversal.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/multiarray/dtype_traversal.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/multiarray/dtype_traversal.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/multiarray/einsum_debug.h b/contrib/python/numpy/include/numpy/core/src/multiarray/einsum_debug.h
new file mode 100644
index 00000000000..bc896af84fa
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/multiarray/einsum_debug.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/multiarray/einsum_debug.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/multiarray/einsum_debug.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/multiarray/einsum_sumprod.h b/contrib/python/numpy/include/numpy/core/src/multiarray/einsum_sumprod.h
new file mode 100644
index 00000000000..6ba6d54ca38
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/multiarray/einsum_sumprod.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/multiarray/einsum_sumprod.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/multiarray/einsum_sumprod.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/multiarray/experimental_public_dtype_api.h b/contrib/python/numpy/include/numpy/core/src/multiarray/experimental_public_dtype_api.h
new file mode 100644
index 00000000000..ba724087fd0
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/multiarray/experimental_public_dtype_api.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/multiarray/experimental_public_dtype_api.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/multiarray/experimental_public_dtype_api.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/multiarray/getset.h b/contrib/python/numpy/include/numpy/core/src/multiarray/getset.h
new file mode 100644
index 00000000000..8692de0eca3
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/multiarray/getset.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/multiarray/getset.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/src/multiarray/getset.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/multiarray/hashdescr.h b/contrib/python/numpy/include/numpy/core/src/multiarray/hashdescr.h
new file mode 100644
index 00000000000..8a88964ff75
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/multiarray/hashdescr.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/multiarray/hashdescr.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/src/multiarray/hashdescr.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/multiarray/item_selection.h b/contrib/python/numpy/include/numpy/core/src/multiarray/item_selection.h
new file mode 100644
index 00000000000..12d8d7052b6
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/multiarray/item_selection.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/multiarray/item_selection.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/src/multiarray/item_selection.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/multiarray/iterators.h b/contrib/python/numpy/include/numpy/core/src/multiarray/iterators.h
new file mode 100644
index 00000000000..ac10067ea95
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/multiarray/iterators.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/multiarray/iterators.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/src/multiarray/iterators.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/multiarray/legacy_dtype_implementation.h b/contrib/python/numpy/include/numpy/core/src/multiarray/legacy_dtype_implementation.h
new file mode 100644
index 00000000000..8b64ad37b31
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/multiarray/legacy_dtype_implementation.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/multiarray/legacy_dtype_implementation.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/multiarray/legacy_dtype_implementation.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/multiarray/mapping.h b/contrib/python/numpy/include/numpy/core/src/multiarray/mapping.h
new file mode 100644
index 00000000000..1b3a459a3cf
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/multiarray/mapping.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/multiarray/mapping.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/src/multiarray/mapping.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/multiarray/methods.h b/contrib/python/numpy/include/numpy/core/src/multiarray/methods.h
new file mode 100644
index 00000000000..4c6d56c0964
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/multiarray/methods.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/multiarray/methods.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/src/multiarray/methods.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/multiarray/multiarraymodule.h b/contrib/python/numpy/include/numpy/core/src/multiarray/multiarraymodule.h
new file mode 100644
index 00000000000..efd02a86a06
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/multiarray/multiarraymodule.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/multiarray/multiarraymodule.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/src/multiarray/multiarraymodule.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/multiarray/nditer_pywrap.h b/contrib/python/numpy/include/numpy/core/src/multiarray/nditer_pywrap.h
new file mode 100644
index 00000000000..df41287ea8d
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/multiarray/nditer_pywrap.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/multiarray/nditer_pywrap.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/src/multiarray/nditer_pywrap.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/multiarray/npy_buffer.h b/contrib/python/numpy/include/numpy/core/src/multiarray/npy_buffer.h
new file mode 100644
index 00000000000..b45a96adb38
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/multiarray/npy_buffer.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/multiarray/npy_buffer.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/multiarray/npy_buffer.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/multiarray/refcount.h b/contrib/python/numpy/include/numpy/core/src/multiarray/refcount.h
new file mode 100644
index 00000000000..a8bed7f5ccc
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/multiarray/refcount.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/multiarray/refcount.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/src/multiarray/refcount.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/multiarray/sequence.h b/contrib/python/numpy/include/numpy/core/src/multiarray/sequence.h
new file mode 100644
index 00000000000..b412ebc7242
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/multiarray/sequence.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/multiarray/sequence.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/src/multiarray/sequence.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/multiarray/strfuncs.h b/contrib/python/numpy/include/numpy/core/src/multiarray/strfuncs.h
new file mode 100644
index 00000000000..c01908362cc
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/multiarray/strfuncs.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/multiarray/strfuncs.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/src/multiarray/strfuncs.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/multiarray/temp_elide.h b/contrib/python/numpy/include/numpy/core/src/multiarray/temp_elide.h
new file mode 100644
index 00000000000..3cd175e3f61
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/multiarray/temp_elide.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/multiarray/temp_elide.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/src/multiarray/temp_elide.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/multiarray/textreading/readtext.h b/contrib/python/numpy/include/numpy/core/src/multiarray/textreading/readtext.h
new file mode 100644
index 00000000000..72e4a13ca40
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/multiarray/textreading/readtext.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/multiarray/textreading/readtext.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/multiarray/textreading/readtext.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/multiarray/typeinfo.h b/contrib/python/numpy/include/numpy/core/src/multiarray/typeinfo.h
new file mode 100644
index 00000000000..89150b24071
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/multiarray/typeinfo.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/multiarray/typeinfo.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/src/multiarray/typeinfo.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/multiarray/usertypes.h b/contrib/python/numpy/include/numpy/core/src/multiarray/usertypes.h
new file mode 100644
index 00000000000..efa258da03d
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/multiarray/usertypes.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/multiarray/usertypes.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/src/multiarray/usertypes.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/multiarray/vdot.h b/contrib/python/numpy/include/numpy/core/src/multiarray/vdot.h
new file mode 100644
index 00000000000..00d05a702a5
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/multiarray/vdot.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/multiarray/vdot.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/src/multiarray/vdot.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/npymath/npy_math_common.h b/contrib/python/numpy/include/numpy/core/src/npymath/npy_math_common.h
new file mode 100644
index 00000000000..4a0ac172b25
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/npymath/npy_math_common.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/npymath/npy_math_common.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/src/npymath/npy_math_common.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/npymath/npy_math_private.h b/contrib/python/numpy/include/numpy/core/src/npymath/npy_math_private.h
new file mode 100644
index 00000000000..83abaa08dbc
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/npymath/npy_math_private.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/npymath/npy_math_private.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/src/npymath/npy_math_private.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/npysort/npysort_common.h b/contrib/python/numpy/include/numpy/core/src/npysort/npysort_common.h
new file mode 100644
index 00000000000..a9b30363862
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/npysort/npysort_common.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/npysort/npysort_common.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/src/npysort/npysort_common.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/npysort/npysort_heapsort.h b/contrib/python/numpy/include/numpy/core/src/npysort/npysort_heapsort.h
new file mode 100644
index 00000000000..db0dfef939b
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/npysort/npysort_heapsort.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/npysort/npysort_heapsort.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/npysort/npysort_heapsort.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/npysort/simd_qsort.dispatch.h b/contrib/python/numpy/include/numpy/core/src/npysort/simd_qsort.dispatch.h
new file mode 100644
index 00000000000..297bdc8f29d
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/npysort/simd_qsort.dispatch.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/npysort/simd_qsort.dispatch.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/npysort/simd_qsort.dispatch.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/npysort/simd_qsort.hpp b/contrib/python/numpy/include/numpy/core/src/npysort/simd_qsort.hpp
new file mode 100644
index 00000000000..ed0658fe533
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/npysort/simd_qsort.hpp
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/npysort/simd_qsort.hpp>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/npysort/simd_qsort.hpp>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/npysort/simd_qsort_16bit.dispatch.h b/contrib/python/numpy/include/numpy/core/src/npysort/simd_qsort_16bit.dispatch.h
new file mode 100644
index 00000000000..4a6d75341e9
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/npysort/simd_qsort_16bit.dispatch.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/npysort/simd_qsort_16bit.dispatch.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/npysort/simd_qsort_16bit.dispatch.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/benchmarks/bench-argsort.hpp b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/benchmarks/bench-argsort.hpp
new file mode 100644
index 00000000000..d6ed00aadf7
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/benchmarks/bench-argsort.hpp
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/npysort/x86-simd-sort/benchmarks/bench-argsort.hpp>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/npysort/x86-simd-sort/benchmarks/bench-argsort.hpp>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/benchmarks/bench-partial-qsort.hpp b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/benchmarks/bench-partial-qsort.hpp
new file mode 100644
index 00000000000..c18a783ae86
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/benchmarks/bench-partial-qsort.hpp
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/npysort/x86-simd-sort/benchmarks/bench-partial-qsort.hpp>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/npysort/x86-simd-sort/benchmarks/bench-partial-qsort.hpp>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/benchmarks/bench-qselect.hpp b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/benchmarks/bench-qselect.hpp
new file mode 100644
index 00000000000..bc13fc722c7
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/benchmarks/bench-qselect.hpp
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/npysort/x86-simd-sort/benchmarks/bench-qselect.hpp>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/npysort/x86-simd-sort/benchmarks/bench-qselect.hpp>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/benchmarks/bench-qsort-common.h b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/benchmarks/bench-qsort-common.h
new file mode 100644
index 00000000000..833be756b86
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/benchmarks/bench-qsort-common.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/npysort/x86-simd-sort/benchmarks/bench-qsort-common.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/npysort/x86-simd-sort/benchmarks/bench-qsort-common.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/benchmarks/bench-qsort.hpp b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/benchmarks/bench-qsort.hpp
new file mode 100644
index 00000000000..e3dfda89771
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/benchmarks/bench-qsort.hpp
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/npysort/x86-simd-sort/benchmarks/bench-qsort.hpp>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/npysort/x86-simd-sort/benchmarks/bench-qsort.hpp>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-16bit-common.h b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-16bit-common.h
new file mode 100644
index 00000000000..58a8cdf4540
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-16bit-common.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/npysort/x86-simd-sort/src/avx512-16bit-common.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/npysort/x86-simd-sort/src/avx512-16bit-common.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-16bit-qsort.hpp b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-16bit-qsort.hpp
new file mode 100644
index 00000000000..0c90d2139ab
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-16bit-qsort.hpp
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/npysort/x86-simd-sort/src/avx512-16bit-qsort.hpp>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/npysort/x86-simd-sort/src/avx512-16bit-qsort.hpp>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-32bit-qsort.hpp b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-32bit-qsort.hpp
new file mode 100644
index 00000000000..5744750daf5
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-32bit-qsort.hpp
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/npysort/x86-simd-sort/src/avx512-32bit-qsort.hpp>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/npysort/x86-simd-sort/src/avx512-32bit-qsort.hpp>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-64bit-argsort.hpp b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-64bit-argsort.hpp
new file mode 100644
index 00000000000..8147a5afd51
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-64bit-argsort.hpp
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/npysort/x86-simd-sort/src/avx512-64bit-argsort.hpp>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/npysort/x86-simd-sort/src/avx512-64bit-argsort.hpp>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-64bit-common.h b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-64bit-common.h
new file mode 100644
index 00000000000..4177db70f1b
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-64bit-common.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/npysort/x86-simd-sort/src/avx512-64bit-common.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/npysort/x86-simd-sort/src/avx512-64bit-common.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-64bit-keyvalue-networks.hpp b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-64bit-keyvalue-networks.hpp
new file mode 100644
index 00000000000..e5da8f42b8c
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-64bit-keyvalue-networks.hpp
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/npysort/x86-simd-sort/src/avx512-64bit-keyvalue-networks.hpp>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/npysort/x86-simd-sort/src/avx512-64bit-keyvalue-networks.hpp>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-64bit-keyvaluesort.hpp b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-64bit-keyvaluesort.hpp
new file mode 100644
index 00000000000..f866f502c62
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-64bit-keyvaluesort.hpp
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/npysort/x86-simd-sort/src/avx512-64bit-keyvaluesort.hpp>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/npysort/x86-simd-sort/src/avx512-64bit-keyvaluesort.hpp>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-64bit-qsort.hpp b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-64bit-qsort.hpp
new file mode 100644
index 00000000000..1df108de40f
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-64bit-qsort.hpp
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/npysort/x86-simd-sort/src/avx512-64bit-qsort.hpp>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/npysort/x86-simd-sort/src/avx512-64bit-qsort.hpp>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-common-argsort.h b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-common-argsort.h
new file mode 100644
index 00000000000..b850bb76850
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-common-argsort.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/npysort/x86-simd-sort/src/avx512-common-argsort.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/npysort/x86-simd-sort/src/avx512-common-argsort.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-common-qsort.h b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-common-qsort.h
new file mode 100644
index 00000000000..0869ec21d1e
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512-common-qsort.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/npysort/x86-simd-sort/src/avx512-common-qsort.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/npysort/x86-simd-sort/src/avx512-common-qsort.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512fp16-16bit-qsort.hpp b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512fp16-16bit-qsort.hpp
new file mode 100644
index 00000000000..236cce71efe
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/src/avx512fp16-16bit-qsort.hpp
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/npysort/x86-simd-sort/src/avx512fp16-16bit-qsort.hpp>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/npysort/x86-simd-sort/src/avx512fp16-16bit-qsort.hpp>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/tests/test-partial-qsort.hpp b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/tests/test-partial-qsort.hpp
new file mode 100644
index 00000000000..f8c817e6e15
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/tests/test-partial-qsort.hpp
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/npysort/x86-simd-sort/tests/test-partial-qsort.hpp>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/npysort/x86-simd-sort/tests/test-partial-qsort.hpp>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/tests/test-qselect.hpp b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/tests/test-qselect.hpp
new file mode 100644
index 00000000000..f8ee42a6cb7
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/tests/test-qselect.hpp
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/npysort/x86-simd-sort/tests/test-qselect.hpp>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/npysort/x86-simd-sort/tests/test-qselect.hpp>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/tests/test-qsort-common.h b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/tests/test-qsort-common.h
new file mode 100644
index 00000000000..0a5a5ec7ea6
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/tests/test-qsort-common.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/npysort/x86-simd-sort/tests/test-qsort-common.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/npysort/x86-simd-sort/tests/test-qsort-common.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/tests/test-qsort-fp.hpp b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/tests/test-qsort-fp.hpp
new file mode 100644
index 00000000000..7188f792e10
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/tests/test-qsort-fp.hpp
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/npysort/x86-simd-sort/tests/test-qsort-fp.hpp>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/npysort/x86-simd-sort/tests/test-qsort-fp.hpp>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/tests/test-qsort.hpp b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/tests/test-qsort.hpp
new file mode 100644
index 00000000000..df2176cc929
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/tests/test-qsort.hpp
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/npysort/x86-simd-sort/tests/test-qsort.hpp>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/npysort/x86-simd-sort/tests/test-qsort.hpp>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/utils/cpuinfo.h b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/utils/cpuinfo.h
new file mode 100644
index 00000000000..f8789522cf7
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/utils/cpuinfo.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/npysort/x86-simd-sort/utils/cpuinfo.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/npysort/x86-simd-sort/utils/cpuinfo.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/utils/rand_array.h b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/utils/rand_array.h
new file mode 100644
index 00000000000..9f9906d60fa
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/npysort/x86-simd-sort/utils/rand_array.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/npysort/x86-simd-sort/utils/rand_array.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/npysort/x86-simd-sort/utils/rand_array.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/umath/_umath_tests.dispatch.h b/contrib/python/numpy/include/numpy/core/src/umath/_umath_tests.dispatch.h
new file mode 100644
index 00000000000..a6626808ccf
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/umath/_umath_tests.dispatch.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/umath/_umath_tests.dispatch.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/umath/_umath_tests.dispatch.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/umath/cpuid.h b/contrib/python/numpy/include/numpy/core/src/umath/cpuid.h
new file mode 100644
index 00000000000..9225b437240
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/umath/cpuid.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#error #include <contrib/python/numpy/py3/numpy/core/src/umath/cpuid.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/src/umath/cpuid.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/umath/dispatching.h b/contrib/python/numpy/include/numpy/core/src/umath/dispatching.h
new file mode 100644
index 00000000000..3396c471018
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/umath/dispatching.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/umath/dispatching.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/umath/dispatching.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/umath/extobj.h b/contrib/python/numpy/include/numpy/core/src/umath/extobj.h
new file mode 100644
index 00000000000..481e29fc183
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/umath/extobj.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/umath/extobj.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/src/umath/extobj.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/umath/fast_loop_macros.h b/contrib/python/numpy/include/numpy/core/src/umath/fast_loop_macros.h
new file mode 100644
index 00000000000..b93c1dec003
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/umath/fast_loop_macros.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/umath/fast_loop_macros.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/umath/fast_loop_macros.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/umath/legacy_array_method.h b/contrib/python/numpy/include/numpy/core/src/umath/legacy_array_method.h
new file mode 100644
index 00000000000..9122f7db2ca
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/umath/legacy_array_method.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/umath/legacy_array_method.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/umath/legacy_array_method.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/umath/loops_modulo.dispatch.c b/contrib/python/numpy/include/numpy/core/src/umath/loops_modulo.dispatch.c
new file mode 100644
index 00000000000..cbc902510f3
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/umath/loops_modulo.dispatch.c
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/umath/loops_modulo.dispatch.c>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/umath/loops_modulo.dispatch.c>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/umath/loops_utils.h b/contrib/python/numpy/include/numpy/core/src/umath/loops_utils.h
new file mode 100644
index 00000000000..4befce878d6
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/umath/loops_utils.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/umath/loops_utils.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/umath/loops_utils.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/umath/npy_simd_data.h b/contrib/python/numpy/include/numpy/core/src/umath/npy_simd_data.h
new file mode 100644
index 00000000000..90a21b59b4f
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/umath/npy_simd_data.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/umath/npy_simd_data.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/umath/npy_simd_data.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/umath/override.h b/contrib/python/numpy/include/numpy/core/src/umath/override.h
new file mode 100644
index 00000000000..44ceb8a10d1
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/umath/override.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/umath/override.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/src/umath/override.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/umath/reduction.h b/contrib/python/numpy/include/numpy/core/src/umath/reduction.h
new file mode 100644
index 00000000000..47f9ef14c08
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/umath/reduction.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/umath/reduction.h>
+#else
+#include <contrib/python/numpy/py2/numpy/core/src/umath/reduction.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/core/src/umath/string_ufuncs.h b/contrib/python/numpy/include/numpy/core/src/umath/string_ufuncs.h
new file mode 100644
index 00000000000..a0d0211df2b
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/core/src/umath/string_ufuncs.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/core/src/umath/string_ufuncs.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/core/src/umath/string_ufuncs.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/distutils/include/npy_cpu_dispatch_config.aarch64.h b/contrib/python/numpy/include/numpy/distutils/include/npy_cpu_dispatch_config.aarch64.h
new file mode 100644
index 00000000000..c235efe8943
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/distutils/include/npy_cpu_dispatch_config.aarch64.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/distutils/include/npy_cpu_dispatch_config.aarch64.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/distutils/include/npy_cpu_dispatch_config.aarch64.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/distutils/include/npy_cpu_dispatch_config.x86_64.h b/contrib/python/numpy/include/numpy/distutils/include/npy_cpu_dispatch_config.x86_64.h
new file mode 100644
index 00000000000..81809b2716f
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/distutils/include/npy_cpu_dispatch_config.x86_64.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/distutils/include/npy_cpu_dispatch_config.x86_64.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/distutils/include/npy_cpu_dispatch_config.x86_64.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/fft/fftpack.h b/contrib/python/numpy/include/numpy/fft/fftpack.h
new file mode 100644
index 00000000000..ae64bd965bd
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/fft/fftpack.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#error #include <contrib/python/numpy/py3/numpy/fft/fftpack.h>
+#else
+#include <contrib/python/numpy/py2/numpy/fft/fftpack.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/linalg/lapack_lite/f2c.h b/contrib/python/numpy/include/numpy/linalg/lapack_lite/f2c.h
new file mode 100644
index 00000000000..25bf0e7061c
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/linalg/lapack_lite/f2c.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/linalg/lapack_lite/f2c.h>
+#else
+#include <contrib/python/numpy/py2/numpy/linalg/lapack_lite/f2c.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/linalg/lapack_lite/lapack_lite_names.h b/contrib/python/numpy/include/numpy/linalg/lapack_lite/lapack_lite_names.h
new file mode 100644
index 00000000000..21e67c4572c
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/linalg/lapack_lite/lapack_lite_names.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/linalg/lapack_lite/lapack_lite_names.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/linalg/lapack_lite/lapack_lite_names.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/random/src/distributions/logfactorial.h b/contrib/python/numpy/include/numpy/random/src/distributions/logfactorial.h
new file mode 100644
index 00000000000..2087650753b
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/random/src/distributions/logfactorial.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/random/src/distributions/logfactorial.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/random/src/distributions/logfactorial.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/random/src/distributions/ziggurat_constants.h b/contrib/python/numpy/include/numpy/random/src/distributions/ziggurat_constants.h
new file mode 100644
index 00000000000..e9a126f9c3c
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/random/src/distributions/ziggurat_constants.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/random/src/distributions/ziggurat_constants.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/random/src/distributions/ziggurat_constants.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/random/src/mt19937/mt19937-jump.h b/contrib/python/numpy/include/numpy/random/src/mt19937/mt19937-jump.h
new file mode 100644
index 00000000000..6e573a11f7f
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/random/src/mt19937/mt19937-jump.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/random/src/mt19937/mt19937-jump.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/random/src/mt19937/mt19937-jump.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/random/src/mt19937/randomkit.h b/contrib/python/numpy/include/numpy/random/src/mt19937/randomkit.h
new file mode 100644
index 00000000000..3bd02a5c998
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/random/src/mt19937/randomkit.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/random/src/mt19937/randomkit.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/random/src/mt19937/randomkit.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/random/src/pcg64/pcg64.orig.h b/contrib/python/numpy/include/numpy/random/src/pcg64/pcg64.orig.h
new file mode 100644
index 00000000000..6721e3fb13b
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/random/src/pcg64/pcg64.orig.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/random/src/pcg64/pcg64.orig.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/random/src/pcg64/pcg64.orig.h>
+#endif
diff --git a/contrib/python/numpy/include/numpy/random/src/splitmix64/splitmix64.h b/contrib/python/numpy/include/numpy/random/src/splitmix64/splitmix64.h
new file mode 100644
index 00000000000..4631d004ba8
--- /dev/null
+++ b/contrib/python/numpy/include/numpy/random/src/splitmix64/splitmix64.h
@@ -0,0 +1,5 @@
+#ifdef USE_PYTHON3
+#include <contrib/python/numpy/py3/numpy/random/src/splitmix64/splitmix64.h>
+#else
+#error #include <contrib/python/numpy/py2/numpy/random/src/splitmix64/splitmix64.h>
+#endif
diff --git a/contrib/python/numpy/include/ya.make b/contrib/python/numpy/include/ya.make
new file mode 100644
index 00000000000..2c994eaa96b
--- /dev/null
+++ b/contrib/python/numpy/include/ya.make
@@ -0,0 +1,19 @@
+SUBSCRIBER(g:python-contrib)
+
+LIBRARY()
+
+LICENSE(BSD-3-Clause)
+
+VERSION(1.25.2)
+
+ADDINCL(
+ GLOBAL contrib/python/numpy/include/numpy/core/include
+ GLOBAL contrib/python/numpy/include/numpy/core/include/numpy
+ GLOBAL contrib/python/numpy/include/numpy/core/src/common
+ GLOBAL contrib/python/numpy/include/numpy/core/src/npymath
+ GLOBAL contrib/python/numpy/include/numpy/distutils/include
+ GLOBAL FOR cython contrib/python/numpy/include/numpy/core/include
+ GLOBAL FOR cython contrib/python/numpy/include/numpy/core/include/numpy
+)
+
+END()