#ifndef PYTHONIC_INCLUDE_OPERATOR_IMIN_HPP #define PYTHONIC_INCLUDE_OPERATOR_IMIN_HPP #include "pythonic/include/utils/functor.hpp" #include "pythonic/include/numpy/minimum.hpp" PYTHONIC_NS_BEGIN namespace operator_ { template auto imin(A &&a, B &&b) -> typename std::enable_if< std::is_const::value || !std::is_assignable::value, decltype(numpy::functor::minimum{}(std::forward(a), std::forward(b)))>::type; template auto imin(A &&a, B &&b) -> typename std::enable_if< !std::is_const::value && std::is_assignable::value, decltype(a = numpy::functor::minimum{}(std::forward(a), std::forward(b)))>::type; DEFINE_FUNCTOR(pythonic::operator_, imin); } PYTHONIC_NS_END #endif