%PDF- %PDF-
| Direktori : /proc/self/root/lib/python3/dist-packages/pythran/pythonic/numpy/ |
| Current File : //proc/self/root/lib/python3/dist-packages/pythran/pythonic/numpy/argmax.hpp |
#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 <class E>
struct argmax_op {
using op = functor::maximum;
using expr_type = E;
static typename E::dtype constexpr limit()
{
return std::numeric_limits<typename E::dtype>::lowest();
}
template <class T>
static T elements(T first, T last)
{
return std::max_element(first, last);
}
template <class T>
static T value(T self, T other)
{
return self > other;
}
};
template <class E>
long argmax(E const &expr)
{
return argminmax<argmax_op<E>>(expr);
}
template <class E>
types::ndarray<long, types::array<long, E::value - 1>> argmax(E const &expr,
long axis)
{
return argminmax<argmax_op<E>>(expr, axis);
}
}
PYTHONIC_NS_END
#endif