#ifndef PYTHONIC_INCLUDE_NUMPY_UNIQUE_HPP #define PYTHONIC_INCLUDE_NUMPY_UNIQUE_HPP #include "pythonic/include/utils/functor.hpp" #include "pythonic/include/types/ndarray.hpp" #include "pythonic/include/types/tuple.hpp" #include "pythonic/include/types/immediate.hpp" PYTHONIC_NS_BEGIN namespace numpy { template types::ndarray> unique(E const &expr); template std::tuple>, types::ndarray>> unique(E const &expr, types::true_immediate return_index); template types::ndarray> unique(E const &expr, types::false_immediate return_index); template std::tuple>, types::ndarray>> unique(E const &expr, types::false_immediate return_index, types::true_immediate return_inverse); template types::ndarray> unique(E const &expr, types::false_immediate return_index, types::false_immediate return_inverse); template std::tuple>, types::ndarray>> unique(E const &expr, types::true_immediate return_index, types::false_immediate return_inverse); template std::tuple>, types::ndarray>, types::ndarray>> unique(E const &expr, types::true_immediate return_index, types::true_immediate return_inverse); template std::tuple>, types::ndarray>, types::ndarray>, types::ndarray>> unique(E const &expr, types::true_immediate return_index, types::true_immediate return_inverse, types::true_immediate return_counts); template std::tuple>, types::ndarray>, types::ndarray>> unique(E const &expr, types::true_immediate return_index, types::true_immediate return_inverse, types::false_immediate return_counts); template std::tuple>, types::ndarray>> unique(E const &expr, types::true_immediate return_index, types::false_immediate return_inverse, types::false_immediate return_counts); template std::tuple>, types::ndarray>, types::ndarray>> unique(E const &expr, types::true_immediate return_index, types::false_immediate return_inverse, types::true_immediate return_counts); template std::tuple>, types::ndarray>> unique(E const &expr, types::false_immediate return_index, types::true_immediate return_inverse, types::false_immediate return_counts); template std::tuple>, types::ndarray>, types::ndarray>> unique(E const &expr, types::false_immediate return_index, types::true_immediate return_inverse, types::true_immediate return_counts); template types::ndarray> unique(E const &expr, types::false_immediate return_index, types::false_immediate return_inverse, types::false_immediate return_counts); template std::tuple>, types::ndarray>> unique(E const &expr, types::false_immediate return_index, types::false_immediate return_inverse, types::true_immediate return_counts); DEFINE_FUNCTOR(pythonic::numpy, unique) } PYTHONIC_NS_END #endif