#ifndef PYTHONIC_INCLUDE_NUMPY_OUTER_HPP #define PYTHONIC_INCLUDE_NUMPY_OUTER_HPP #include "pythonic/include/utils/functor.hpp" #include "pythonic/include/types/ndarray.hpp" #include "pythonic/include/builtins/None.hpp" #include "pythonic/include/numpy/asarray.hpp" PYTHONIC_NS_BEGIN namespace numpy { template types::ndarray() + std::declval()), types::pshape> outer(types::ndarray const &a, types::ndarray const &b); template auto outer(types::ndarray const &a, E1 const &b) -> decltype(outer(a, asarray(b))); template auto outer(E0 const &a, types::ndarray const &b) -> decltype(outer(asarray(a), b)); template auto outer(E0 const &a, E1 const &b) -> decltype(outer(asarray(a), asarray(b))); DEFINE_FUNCTOR(pythonic::numpy, outer); } PYTHONIC_NS_END #endif