--- contrib/python/numpy/py3/numpy/core/src/_simd/_simd.dispatch.h (index) +++ contrib/python/numpy/py3/numpy/core/src/_simd/_simd.dispatch.h (working tree) @@ -10,8 +10,13 @@ #undef NPY__CPU_DISPATCH_CALL #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB(__VA_ARGS__)) +#if defined(__x86_64__) || defined(_M_X64) #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512_SKX)), AVX512_SKX, __VA_ARGS__)) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512F)), AVX512F, __VA_ARGS__)) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX)&&CHK(F16C)&&CHK(FMA3)&&CHK(AVX2)), FMA3__AVX2, __VA_ARGS__)) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(SSE)&&CHK(SSE2)&&CHK(SSE3)&&CHK(SSSE3)&&CHK(SSE41)&&CHK(POPCNT)&&CHK(SSE42)), SSE42, __VA_ARGS__)) +#elif defined(__aarch64__) +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ + +#endif --- contrib/python/numpy/py3/numpy/core/src/umath/_umath_tests.dispatch.h (index) +++ contrib/python/numpy/py3/numpy/core/src/umath/_umath_tests.dispatch.h (working tree) @@ -10,6 +10,11 @@ #undef NPY__CPU_DISPATCH_CALL #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB(__VA_ARGS__)) +#if defined(__x86_64__) || defined(_M_X64) #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX)&&CHK(F16C)&&CHK(AVX2)), AVX2, __VA_ARGS__)) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(SSE)&&CHK(SSE2)&&CHK(SSE3)&&CHK(SSSE3)&&CHK(SSE41)), SSE41, __VA_ARGS__)) +#elif defined(__aarch64__) +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ + NPY__CPU_DISPATCH_EXPAND_(CB((CHK(ASIMD)&&CHK(ASIMDHP)), ASIMDHP, __VA_ARGS__)) +#endif --- contrib/python/numpy/py3/numpy/core/src/umath/loops_arithm_fp.dispatch.h (index) +++ contrib/python/numpy/py3/numpy/core/src/umath/loops_arithm_fp.dispatch.h (working tree) @@ -10,5 +10,10 @@ #undef NPY__CPU_DISPATCH_CALL #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB(__VA_ARGS__)) +#if defined(__x86_64__) || defined(_M_X64) #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX)&&CHK(F16C)&&CHK(FMA3)&&CHK(AVX2)), FMA3__AVX2, __VA_ARGS__)) +#elif defined(__aarch64__) +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ + +#endif --- contrib/python/numpy/py3/numpy/core/src/umath/loops_arithmetic.dispatch.h (index) +++ contrib/python/numpy/py3/numpy/core/src/umath/loops_arithmetic.dispatch.h (working tree) @@ -10,8 +10,13 @@ #undef NPY__CPU_DISPATCH_CALL #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB(__VA_ARGS__)) +#if defined(__x86_64__) || defined(_M_X64) #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512_SKX)), AVX512_SKX, __VA_ARGS__)) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512F)), AVX512F, __VA_ARGS__)) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX)&&CHK(F16C)&&CHK(AVX2)), AVX2, __VA_ARGS__)) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(SSE)&&CHK(SSE2)&&CHK(SSE3)&&CHK(SSSE3)&&CHK(SSE41)), SSE41, __VA_ARGS__)) +#elif defined(__aarch64__) +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ + +#endif --- contrib/python/numpy/py3/numpy/core/src/umath/loops_exponent_log.dispatch.h (index) +++ contrib/python/numpy/py3/numpy/core/src/umath/loops_exponent_log.dispatch.h (working tree) @@ -10,7 +10,12 @@ #undef NPY__CPU_DISPATCH_CALL #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB(__VA_ARGS__)) +#if defined(__x86_64__) || defined(_M_X64) #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512_SKX)), AVX512_SKX, __VA_ARGS__)) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512F)), AVX512F, __VA_ARGS__)) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX)&&CHK(F16C)&&CHK(FMA3)&&CHK(AVX2)), FMA3__AVX2, __VA_ARGS__)) +#elif defined(__aarch64__) +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ + +#endif --- contrib/python/numpy/py3/numpy/core/src/umath/loops_trigonometric.dispatch.h (index) +++ contrib/python/numpy/py3/numpy/core/src/umath/loops_trigonometric.dispatch.h (working tree) @@ -10,6 +10,11 @@ #undef NPY__CPU_DISPATCH_CALL #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB(__VA_ARGS__)) +#if defined(__x86_64__) || defined(_M_X64) #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512F)), AVX512F, __VA_ARGS__)) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX)&&CHK(F16C)&&CHK(FMA3)&&CHK(AVX2)), FMA3__AVX2, __VA_ARGS__)) +#elif defined(__aarch64__) +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ + +#endif --- contrib/python/numpy/py3/numpy/core/src/umath/loops_umath_fp.dispatch.h (index) +++ contrib/python/numpy/py3/numpy/core/src/umath/loops_umath_fp.dispatch.h (working tree) @@ -10,5 +10,10 @@ #undef NPY__CPU_DISPATCH_CALL #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB(__VA_ARGS__)) +#if defined(__x86_64__) || defined(_M_X64) #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512_SKX)), AVX512_SKX, __VA_ARGS__)) +#elif defined(__aarch64__) +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ + +#endif --- contrib/python/numpy/py3/numpy/core/src/umath/loops_unary_fp.dispatch.h (index) +++ contrib/python/numpy/py3/numpy/core/src/umath/loops_unary_fp.dispatch.h (working tree) @@ -10,5 +10,10 @@ #undef NPY__CPU_DISPATCH_CALL #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB(__VA_ARGS__)) +#if defined(__x86_64__) || defined(_M_X64) #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(SSE)&&CHK(SSE2)&&CHK(SSE3)&&CHK(SSSE3)&&CHK(SSE41)), SSE41, __VA_ARGS__)) +#elif defined(__aarch64__) +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ + +#endif --- contrib/python/numpy/py3/numpy/core/src/multiarray/argfunc.dispatch.h (index) +++ contrib/python/numpy/py3/numpy/core/src/multiarray/argfunc.dispatch.h (working tree) @@ -10,7 +10,12 @@ #undef NPY__CPU_DISPATCH_CALL #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB(__VA_ARGS__)) +#if defined(__x86_64__) || defined(_M_X64) #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512_SKX)), AVX512_SKX, __VA_ARGS__)) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX)&&CHK(F16C)&&CHK(AVX2)), AVX2, __VA_ARGS__)) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(SSE)&&CHK(SSE2)&&CHK(SSE3)&&CHK(SSSE3)&&CHK(SSE41)&&CHK(POPCNT)&&CHK(SSE42)), SSE42, __VA_ARGS__)) +#elif defined(__aarch64__) +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ + +#endif --- contrib/python/numpy/py3/numpy/core/src/umath/loops_hyperbolic.dispatch.h (index) +++ contrib/python/numpy/py3/numpy/core/src/umath/loops_hyperbolic.dispatch.h (working tree) @@ -10,6 +10,11 @@ #undef NPY__CPU_DISPATCH_CALL #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB(__VA_ARGS__)) +#if defined(__x86_64__) || defined(_M_X64) #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512_SKX)), AVX512_SKX, __VA_ARGS__)) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX)&&CHK(F16C)&&CHK(FMA3)&&CHK(AVX2)), FMA3__AVX2, __VA_ARGS__)) +#elif defined(__aarch64__) +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ + +#endif --- contrib/python/numpy/py3/numpy/core/src/umath/loops_minmax.dispatch.h (index) +++ contrib/python/numpy/py3/numpy/core/src/umath/loops_minmax.dispatch.h (working tree) @@ -10,6 +10,11 @@ #undef NPY__CPU_DISPATCH_CALL #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB(__VA_ARGS__)) +#if defined(__x86_64__) || defined(_M_X64) #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512_SKX)), AVX512_SKX, __VA_ARGS__)) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX)&&CHK(F16C)&&CHK(AVX2)), AVX2, __VA_ARGS__)) +#elif defined(__aarch64__) +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ + +#endif --- contrib/python/numpy/py3/numpy/core/src/umath/loops_comparison.dispatch.h (index) +++ contrib/python/numpy/py3/numpy/core/src/umath/loops_comparison.dispatch.h (working tree) @@ -10,8 +10,13 @@ #undef NPY__CPU_DISPATCH_CALL #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB(__VA_ARGS__)) +#if defined(__x86_64__) || defined(_M_X64) #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512_SKX)), AVX512_SKX, __VA_ARGS__)) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512F)), AVX512F, __VA_ARGS__)) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX)&&CHK(F16C)&&CHK(AVX2)), AVX2, __VA_ARGS__)) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(SSE)&&CHK(SSE2)&&CHK(SSE3)&&CHK(SSSE3)&&CHK(SSE41)&&CHK(POPCNT)&&CHK(SSE42)), SSE42, __VA_ARGS__)) +#elif defined(__aarch64__) +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ + +#endif --- contrib/python/numpy/py3/numpy/core/src/umath/_umath_tests.dispatch.asimdhp.c (index) +++ contrib/python/numpy/py3/numpy/core/src/umath/_umath_tests.dispatch.asimdhp.c (working tree) @@ -0,0 +1,12 @@ +/** + * AUTOGENERATED DON'T EDIT + * Please make changes to the code generator (distutils/ccompiler_opt.py) + */ +#define NPY__CPU_TARGET_MODE +#define NPY__CPU_TARGET_CURRENT ASIMDHP +#define NPY__CPU_TARGET_NEON +#define NPY__CPU_TARGET_NEON_FP16 +#define NPY__CPU_TARGET_NEON_VFPV4 +#define NPY__CPU_TARGET_ASIMD +#define NPY__CPU_TARGET_ASIMDHP +#include "_umath_tests.dispatch.c" --- contrib/python/numpy/py3/numpy/distutils/include/npy_cpu_dispatch_config.aarch64.h (index) +++ contrib/python/numpy/py3/numpy/distutils/include/npy_cpu_dispatch_config.aarch64.h (working tree) @@ -0,0 +1,42 @@ +/* + * AUTOGENERATED DON'T EDIT + * Please make changes to the code generator (distutils/ccompiler_opt.py) +*/ +#define NPY_WITH_CPU_BASELINE "NEON NEON_FP16 NEON_VFPV4 ASIMD" +#define NPY_WITH_CPU_DISPATCH "ASIMDHP ASIMDDP ASIMDFHM" +#define NPY_WITH_CPU_BASELINE_N 4 +#define NPY_WITH_CPU_DISPATCH_N 3 +#define NPY_WITH_CPU_EXPAND_(X) X +#define NPY_WITH_CPU_BASELINE_CALL(MACRO_TO_CALL, ...) \ + NPY_WITH_CPU_EXPAND_(MACRO_TO_CALL(NEON, __VA_ARGS__)) \ + NPY_WITH_CPU_EXPAND_(MACRO_TO_CALL(NEON_FP16, __VA_ARGS__)) \ + NPY_WITH_CPU_EXPAND_(MACRO_TO_CALL(NEON_VFPV4, __VA_ARGS__)) \ + NPY_WITH_CPU_EXPAND_(MACRO_TO_CALL(ASIMD, __VA_ARGS__)) +#define NPY_WITH_CPU_DISPATCH_CALL(MACRO_TO_CALL, ...) \ + NPY_WITH_CPU_EXPAND_(MACRO_TO_CALL(ASIMDHP, __VA_ARGS__)) \ + NPY_WITH_CPU_EXPAND_(MACRO_TO_CALL(ASIMDDP, __VA_ARGS__)) \ + NPY_WITH_CPU_EXPAND_(MACRO_TO_CALL(ASIMDFHM, __VA_ARGS__)) +/******* baseline features *******/ + /** NEON **/ + #define NPY_HAVE_NEON 1 + #include + /** NEON_FP16 **/ + #define NPY_HAVE_NEON_FP16 1 + /** NEON_VFPV4 **/ + #define NPY_HAVE_NEON_VFPV4 1 + /** ASIMD **/ + #define NPY_HAVE_ASIMD 1 + +/******* dispatch features *******/ +#ifdef NPY__CPU_TARGET_ASIMDHP + /** ASIMDHP **/ + #define NPY_HAVE_ASIMDHP 1 +#endif /*NPY__CPU_TARGET_ASIMDHP*/ +#ifdef NPY__CPU_TARGET_ASIMDDP + /** ASIMDDP **/ + #define NPY_HAVE_ASIMDDP 1 +#endif /*NPY__CPU_TARGET_ASIMDDP*/ +#ifdef NPY__CPU_TARGET_ASIMDFHM + /** ASIMDFHM **/ + #define NPY_HAVE_ASIMDFHM 1 +#endif /*NPY__CPU_TARGET_ASIMDFHM*/ --- contrib/python/numpy/py3/numpy/core/src/npysort/simd_qsort.dispatch.h (index) +++ contrib/python/numpy/py3/numpy/core/src/npysort/simd_qsort.dispatch.h (working tree) @@ -10,5 +10,10 @@ #undef NPY__CPU_DISPATCH_CALL #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \ +#if defined(__x86_64__) || defined(_M_X64) #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512_SKX)), AVX512_SKX, __VA_ARGS__)) +#elif defined(__aarch64__) +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ + +#endif --- contrib/python/numpy/py3/numpy/core/src/npysort/simd_qsort_16bit.dispatch.h (index) +++ contrib/python/numpy/py3/numpy/core/src/npysort/simd_qsort_16bit.dispatch.h (working tree) @@ -10,5 +10,10 @@ #undef NPY__CPU_DISPATCH_CALL #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \ +#if defined(__x86_64__) || defined(_M_X64) #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512_ICL)), AVX512_ICL, __VA_ARGS__)) +#elif defined(__aarch64__) +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ + +#endif --- contrib/python/numpy/py3/numpy/core/src/umath/loops_autovec.dispatch.h (index) +++ contrib/python/numpy/py3/numpy/core/src/umath/loops_autovec.dispatch.h (working tree) @@ -10,5 +10,10 @@ #undef NPY__CPU_DISPATCH_CALL #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB(__VA_ARGS__)) +#if defined(__x86_64__) || defined(_M_X64) #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX)&&CHK(F16C)&&CHK(AVX2)), AVX2, __VA_ARGS__)) +#elif defined(__aarch64__) +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ + +#endif --- contrib/python/numpy/py3/numpy/core/src/umath/loops_logical.dispatch.h (index) +++ contrib/python/numpy/py3/numpy/core/src/umath/loops_logical.dispatch.h (working tree) @@ -10,6 +10,11 @@ #undef NPY__CPU_DISPATCH_CALL #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB(__VA_ARGS__)) +#if defined(__x86_64__) || defined(_M_X64) #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512_SKX)), AVX512_SKX, __VA_ARGS__)) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX)&&CHK(F16C)&&CHK(AVX2)), AVX2, __VA_ARGS__)) +#elif defined(__aarch64__) +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ + +#endif --- contrib/python/numpy/py3/numpy/core/src/umath/loops_unary.dispatch.h (index) +++ contrib/python/numpy/py3/numpy/core/src/umath/loops_unary.dispatch.h (working tree) @@ -10,6 +10,11 @@ #undef NPY__CPU_DISPATCH_CALL #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB(__VA_ARGS__)) +#if defined(__x86_64__) || defined(_M_X64) #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512_SKX)), AVX512_SKX, __VA_ARGS__)) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX)&&CHK(F16C)&&CHK(AVX2)), AVX2, __VA_ARGS__)) +#elif defined(__aarch64__) +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ + +#endif --- contrib/python/numpy/py3/numpy/core/src/umath/loops_unary_complex.dispatch.h (index) +++ contrib/python/numpy/py3/numpy/core/src/umath/loops_unary_complex.dispatch.h (working tree) @@ -10,6 +10,11 @@ #undef NPY__CPU_DISPATCH_CALL #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB(__VA_ARGS__)) +#if defined(__x86_64__) || defined(_M_X64) #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512F)), AVX512F, __VA_ARGS__)) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX)&&CHK(F16C)&&CHK(FMA3)&&CHK(AVX2)), FMA3__AVX2, __VA_ARGS__)) +#elif defined(__aarch64__) +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ + +#endif --- contrib/python/numpy/py3/numpy/core/src/umath/loops_unary_fp_le.dispatch.h (index) +++ contrib/python/numpy/py3/numpy/core/src/umath/loops_unary_fp_le.dispatch.h (working tree) @@ -10,5 +10,10 @@ #undef NPY__CPU_DISPATCH_CALL #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB(__VA_ARGS__)) +#if defined(__x86_64__) || defined(_M_X64) #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ NPY__CPU_DISPATCH_EXPAND_(CB((CHK(SSE)&&CHK(SSE2)&&CHK(SSE3)&&CHK(SSSE3)&&CHK(SSE41)), SSE41, __VA_ARGS__)) +#elif defined(__aarch64__) +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \ + +#endif