From 3ba4bdb8488d1e4b41d18f14047051384a3fe1de Mon Sep 17 00:00:00 2001 From: Olivier BICHLER <olivier.bichler@cea.fr> Date: Wed, 12 Jun 2024 09:39:26 +0200 Subject: [PATCH] Improved Tensor::zeros() --- include/aidge/backend/TensorImpl.hpp | 4 +--- src/backend/cpu/data/TensorImpl.cpp | 7 +------ 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/include/aidge/backend/TensorImpl.hpp b/include/aidge/backend/TensorImpl.hpp index e11a6d26f..57c6c385d 100644 --- a/include/aidge/backend/TensorImpl.hpp +++ b/include/aidge/backend/TensorImpl.hpp @@ -201,9 +201,7 @@ public: /** * @brief Set every element of the implementation to zero. */ - virtual void zeros() { - AIDGE_THROW_OR_ABORT(std::runtime_error, "Function not implented"); - } + virtual void zeros() = 0; const std::string backend() const { return mBackend; } diff --git a/src/backend/cpu/data/TensorImpl.cpp b/src/backend/cpu/data/TensorImpl.cpp index 39ca71de9..ed3c96f80 100644 --- a/src/backend/cpu/data/TensorImpl.cpp +++ b/src/backend/cpu/data/TensorImpl.cpp @@ -38,12 +38,7 @@ bool Aidge::TensorImpl_cpu<T>::operator==(const Aidge::TensorImpl &other) const template <typename T> void Aidge::TensorImpl_cpu<T>::zeros() { - if (mData.empty()) { - lazyInit(); - } - for (std::size_t i = 0; i < mData.size(); ++i) { - *(mData.data() + i) = T(0); - } + std::memset(rawPtr(), T(0), mNbElts * sizeof(T)); } template <typename T> -- GitLab