| Server IP : 217.160.0.212 / Your IP : 216.73.216.141 Web Server : Apache System : Linux www 6.18.51-i1-ampere #1196 SMP Fri Sep 11 20:43:55 CEST 2026 aarch64 User : sws1073854427 ( 1073854427) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /lib/python3/dist-packages/pythran/pythonic/bisect/ |
Upload File : |
#ifndef PYTHONIC_BISECT_BISECT_HPP
#define PYTHONIC_BISECT_BISECT_HPP
#include "pythonic/include/bisect/bisect.hpp"
#include "pythonic/builtins/ValueError.hpp"
#include "pythonic/utils/functor.hpp"
#include <iterator>
PYTHONIC_NS_BEGIN
namespace bisect
{
template <class X, class A>
long bisect(X const &x, A const &a, long lo,
details::bisect_fun<X, A> const &fun)
{
if (lo < 0)
throw types::ValueError("lo must be non-negative");
return std::distance(x.begin(), fun(x.begin() + lo, x.end(), a));
}
template <class X, class A>
long bisect(X const &x, A const &a, long lo, long hi,
details::bisect_fun<X, A> const &fun)
{
if (lo < 0)
throw types::ValueError("lo must be non-negative");
return std::distance(x.begin(), fun(x.begin() + lo, x.begin() + hi, a));
}
}
PYTHONIC_NS_END
#endif