Revert "Remove warning about memset. (#6003)" (#6020)

This reverts commit 12e3fb6a6cb601c58d39ed54253e6e50f1513ccc.
This commit is contained in:
Jiaming Yuan 2020-08-17 20:10:15 +08:00 committed by GitHub
parent 511bb22ffd
commit d240463b38
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -500,13 +500,13 @@ void GHistIndexBlockMatrix::Init(const GHistIndexMatrix& gmat,
*/
template<typename GradientSumT>
void InitilizeHistByZeroes(GHistRow<GradientSumT> hist, size_t begin, size_t end) {
static_assert(sizeof(xgboost::detail::GradientPairInternal<GradientSumT>) %
sizeof(GradientSumT) ==
0,
"");
auto p_data = reinterpret_cast<GradientSumT*>(hist.data());
memset(p_data + begin, '\0', (end-begin)*
#if defined(XGBOOST_STRICT_R_MODE) && XGBOOST_STRICT_R_MODE == 1
std::fill(hist.begin() + begin, hist.begin() + end,
xgboost::detail::GradientPairInternal<GradientSumT>());
#else // defined(XGBOOST_STRICT_R_MODE) && XGBOOST_STRICT_R_MODE == 1
memset(hist.data() + begin, '\0', (end-begin)*
sizeof(xgboost::detail::GradientPairInternal<GradientSumT>));
#endif // defined(XGBOOST_STRICT_R_MODE) && XGBOOST_STRICT_R_MODE == 1
}
template void InitilizeHistByZeroes(GHistRow<float> hist, size_t begin,
size_t end);