#ifndef PYTHONIC_NUMPY_ARGMIN_HPP #define PYTHONIC_NUMPY_ARGMIN_HPP #include "pythonic/include/numpy/argmin.hpp" #include "pythonic/numpy/argminmax.hpp" #include "pythonic/numpy/minimum.hpp" PYTHONIC_NS_BEGIN namespace numpy { template struct argmin_op { using op = functor::minimum; using expr_type = E; static typename E::dtype constexpr limit() { return std::numeric_limits::max(); } template static T elements(T first, T last) { return std::min_element(first, last); } template static T value(T self, T other) { return self < other; } }; template long argmin(E const &expr) { return argminmax>(expr); } template types::ndarray> argmin(E const &expr, long axis) { return argminmax>(expr, axis); } } PYTHONIC_NS_END #endif