Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
|
#include <cmath>
#include <cstdint>
#include <functional>
#include <utility>
#include "absl/functional/function_ref.h"
#include "absl/log/check.h"
#include "absl/numeric/int128.h"
#include "absl/types/span.h"
#include "ortools/base/logging.h"
Go to the source code of this file.
Namespaces | |
namespace | operations_research |
In SWIG mode, we don't want anything besides these top-level includes. | |
namespace | operations_research::internal |
End of the interface. Below is the implementation. | |
Functions | |
template<class Point > | |
Point | operations_research::BinarySearch (Point x_true, Point x_false, std::function< bool(Point)> f) |
template<class Point > | |
Point | operations_research::BinarySearchMidpoint (Point x, Point y) |
template<class Point , class Value > | |
std::pair< Point, Value > | operations_research::ConvexMinimum (absl::Span< const Point > sorted_points, std::function< Value(Point)> f) |
template<class Point , class Value > | |
std::pair< Point, Value > | operations_research::ConvexMinimum (bool is_to_the_right, std::pair< Point, Value > current_min, absl::Span< const Point > sorted_points, std::function< Value(Point)> f) |
template<class Point , class Value > | |
std::pair< Point, Value > | operations_research::RangeConvexMinimum (Point begin, Point end, absl::FunctionRef< Value(Point)> f) |
Searches in the range [begin, end), where Point supports basic arithmetic. | |
template<class Point , class Value > | |
std::pair< Point, Value > | operations_research::RangeConvexMinimum (std::pair< Point, Value > current_min, Point begin, Point end, absl::FunctionRef< Value(Point)> f) |
template<class T > | |
bool | operations_research::internal::IsNanGeneric (const T &) |
template<> | |
bool | operations_research::internal::IsNanGeneric (const float &x) |
template<> | |
bool | operations_research::internal::IsNanGeneric (const double &x) |
template<> | |
bool | operations_research::internal::IsNanGeneric (const long double &x) |
template<typename T > | |
bool | operations_research::internal::AreNumbersOfSameSign (const T &x, const T &y) |
template<typename IntT > | |
constexpr bool | operations_research::internal::UsesTwosComplement () |