xgboost/R-package
Philip Hyunsu Cho b38c636d05
Fix #3523: Fix CustomGlobalRandomEngine for R (#3781)
**Symptom** Apple Clang's implementation of `std::shuffle` expects doesn't work
correctly when it is run with the random bit generator for R package:
```cpp
CustomGlobalRandomEngine::result_type
CustomGlobalRandomEngine::operator()() {
  return static_cast<result_type>(
      std::floor(unif_rand() * CustomGlobalRandomEngine::max()));
}
```

Minimial reproduction of failure (compile using Apple Clang 10.0):
```cpp
std::vector<int> feature_set(100);
std::iota(feature_set.begin(), feature_set.end(), 0);
    // initialize with 0, 1, 2, 3, ..., 99
std::shuffle(feature_set.begin(), feature_set.end(), common::GlobalRandom());
    // This returns 0, 1, 2, ..., 99, so content didn't get shuffled at all!!!
```

Note that this bug is platform-dependent; it does not appear when GCC or
upstream LLVM Clang is used.

**Diagnosis** Apple Clang's `std::shuffle` expects 32-bit integer
inputs, whereas `CustomGlobalRandomEngine::operator()` produces 64-bit
integers.

**Fix** Have `CustomGlobalRandomEngine::operator()` produce 32-bit integers.

Closes #3523.
2018-10-15 09:39:13 -07:00
..
2015-01-20 15:51:42 -08:00
2018-09-27 17:53:49 -07:00
2017-05-07 16:54:48 -07:00
2015-07-24 11:58:02 -07:00
2017-04-29 18:44:08 -07:00
2017-04-29 18:44:08 -07:00
2018-03-28 10:05:47 -07:00
2018-04-22 09:24:38 -04:00

XGBoost R Package for Scalable GBM

CRAN Status Badge CRAN Downloads Documentation Status

Resources

Installation

We are on CRAN now. For stable/pre-compiled(for Windows and OS X) version, please install from CRAN:

install.packages('xgboost')

For more detailed installation instructions, please see here.

Examples

Development