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