mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
Use memset if !NumTraits<Scalar>::RequireInitialization
libeigen/eigen!2113 Closes #3019
This commit is contained in:
@@ -93,8 +93,10 @@ struct eigen_fill_impl<Xpr, /*use_fill*/ true> {
|
||||
|
||||
template <typename Xpr>
|
||||
struct eigen_memset_helper {
|
||||
static constexpr bool value =
|
||||
std::is_trivially_copyable<typename Xpr::Scalar>::value && eigen_fill_helper<Xpr>::value;
|
||||
using Scalar = typename Xpr::Scalar;
|
||||
static constexpr bool value = std::is_trivially_copyable<Scalar>::value &&
|
||||
!static_cast<bool>(NumTraits<Scalar>::RequireInitialization) &&
|
||||
eigen_fill_helper<Xpr>::value;
|
||||
};
|
||||
|
||||
template <typename Xpr>
|
||||
|
||||
Reference in New Issue
Block a user