#ifndef PYTHONIC_OPERATOR_IMATMUL_HPP #define PYTHONIC_OPERATOR_IMATMUL_HPP #include "pythonic/include/operator_/imatmul.hpp" #include "pythonic/utils/functor.hpp" #include "pythonic/numpy/dot.hpp" PYTHONIC_NS_BEGIN namespace operator_ { template A imatmul(A const &a, B &&b) { return numpy::functor::dot{}(a, std::forward(b)); } template A &imatmul(A &a, B &&b) { return a = numpy::functor::dot(a, std::forward(b)); // FIXME: improve that } } PYTHONIC_NS_END #endif