xgboost
|
Classes | |
class | SpanIterator |
struct | ExtentValue |
struct | ExtentAsBytesValue |
struct | IsAllowedExtentConversion |
struct | IsAllowedElementTypeConversion |
struct | IsSpanOracle |
struct | IsSpanOracle< Span< T, Extent > > |
struct | IsSpan |
struct | Less |
struct | Greater |
Typedefs | |
using | ptrdiff_t = typename std::conditional< std::is_same< std::ptrdiff_t, std::int64_t >::value, std::ptrdiff_t, std::int64_t >::type |
Functions | |
template<class InputIt1 , class InputIt2 , class Compare = detail::Less<decltype(std::declval<InputIt1>().operator*())>> | |
XGBOOST_DEVICE bool | LexicographicalCompare (InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2) |
using xgboost::common::detail::ptrdiff_t = typedef typename std::conditional< std::is_same<std::ptrdiff_t, std::int64_t>::value, std::ptrdiff_t, std::int64_t>::type |
By default, XGBoost uses uint32_t for indexing data. int64_t covers all values uint32_t can represent. Also, On x86-64 Linux, GCC uses long int to represent ptrdiff_t, which is just int64_t. So we make it deterministic here.
XGBOOST_DEVICE bool xgboost::common::detail::LexicographicalCompare | ( | InputIt1 | first1, |
InputIt1 | last1, | ||
InputIt2 | first2, | ||
InputIt2 | last2 | ||
) |