Remove warning about memset. (#6003)

This commit is contained in:
Jiaming Yuan 2020-08-13 08:25:46 +08:00 committed by GitHub
parent 9adb812a0a
commit 12e3fb6a6c
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> template<typename GradientSumT>
void InitilizeHistByZeroes(GHistRow<GradientSumT> hist, size_t begin, size_t end) { void InitilizeHistByZeroes(GHistRow<GradientSumT> hist, size_t begin, size_t end) {
#if defined(XGBOOST_STRICT_R_MODE) && XGBOOST_STRICT_R_MODE == 1 static_assert(sizeof(xgboost::detail::GradientPairInternal<GradientSumT>) %
std::fill(hist.begin() + begin, hist.begin() + end, sizeof(GradientSumT) ==
xgboost::detail::GradientPairInternal<GradientSumT>()); 0,
#else // defined(XGBOOST_STRICT_R_MODE) && XGBOOST_STRICT_R_MODE == 1 "");
memset(hist.data() + begin, '\0', (end-begin)* auto p_data = reinterpret_cast<GradientSumT*>(hist.data());
memset(p_data + begin, '\0', (end-begin)*
sizeof(xgboost::detail::GradientPairInternal<GradientSumT>)); 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, template void InitilizeHistByZeroes(GHistRow<float> hist, size_t begin,
size_t end); size_t end);