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