diff --git a/src/filler/HeFiller.cpp b/src/filler/HeFiller.cpp index 74d681f1a05c15045d27a0fe678aa676d16af077..ff20b76183c03e7ac90b5c225b3da7a8c6ffb2df 100644 --- a/src/filler/HeFiller.cpp +++ b/src/filler/HeFiller.cpp @@ -29,7 +29,9 @@ void Aidge::heFiller(std::shared_ptr<Aidge::Tensor> tensor, : (varianceNorm == Aidge::VarianceNorm::Average) ? (fanIn + fanOut) / 2.0 : fanOut); - + AIDGE_ASSERT(n > 0, + "Something went wrong division by zero or square root of " + "negative value."); const T stdDev(std::sqrt(2.0 / n)); const T mean(varianceNorm == Aidge::VarianceNorm::FanIn ? meanNorm / fanIn diff --git a/src/filler/XavierFiller.cpp b/src/filler/XavierFiller.cpp index a1de15971ca8063e504e270fa6d2275d93270460..734874d449c83087ca0e93df7eeb620e178ee7ba 100644 --- a/src/filler/XavierFiller.cpp +++ b/src/filler/XavierFiller.cpp @@ -29,6 +29,9 @@ void Aidge::xavierUniformFiller(std::shared_ptr<Aidge::Tensor> tensor, : (varianceNorm == Aidge::VarianceNorm::Average) ? (fanIn + fanOut) / 2.0 : fanOut); + AIDGE_ASSERT(n > 0, + "Something went wrong division by zero or square root of " + "negative value."); const T scale(std::sqrt(3.0 / n)); std::uniform_real_distribution<T> uniformDist(-scale, scale);