#ifndef PYTHONIC_INCLUDE_UTILS_NUMPY_CONVERSION_HPP #define PYTHONIC_INCLUDE_UTILS_NUMPY_CONVERSION_HPP #include "pythonic/include/utils/numpy_traits.hpp" #include #if _MSC_VER && !__clang__ #define NUMPY_EXPR_TO_NDARRAY0_DECL(fname) \ template ::value && \ types::is_array::value, \ E>::type * = nullptr> \ auto fname(E const &expr, Types &&... others); #else #define NUMPY_EXPR_TO_NDARRAY0_DECL(fname) \ template \ auto fname(E const &expr, Types &&... others) \ ->typename std::enable_if< \ !types::is_ndarray::value && types::is_array::value, \ decltype(fname( \ types::ndarray{expr}, \ std::forward(others)...))>::type; #endif #endif