diff --git a/src/frontend/inp.c b/src/frontend/inp.c index 74e457b33..c4d6844d5 100644 --- a/src/frontend/inp.c +++ b/src/frontend/inp.c @@ -2363,6 +2363,8 @@ static double agauss(double nominal_val, double abs_variation, double sigma) { double stdvar; + if (abs_variation <= 0 || sigma <= 0) + return nominal_val; stdvar = abs_variation / sigma; return (nominal_val + stdvar * gauss1()); } @@ -2372,6 +2374,8 @@ static double gauss(double nominal_val, double rel_variation, double sigma) { double stdvar; + if (rel_variation <= 0 || sigma <= 0) + return nominal_val; stdvar = nominal_val * rel_variation / sigma; return (nominal_val + stdvar * gauss1()); } diff --git a/src/frontend/numparam/xpressn.c b/src/frontend/numparam/xpressn.c index f4185c15b..a3c049d73 100644 --- a/src/frontend/numparam/xpressn.c +++ b/src/frontend/numparam/xpressn.c @@ -47,6 +47,8 @@ static double agauss(double nominal_val, double abs_variation, double sigma) { double stdvar; + if (abs_variation <= 0 || sigma <= 0) + return nominal_val; stdvar = abs_variation / sigma; return (nominal_val + stdvar * gauss1()); } @@ -56,6 +58,8 @@ static double gauss(double nominal_val, double rel_variation, double sigma) { double stdvar; + if (rel_variation <= 0 || sigma <= 0) + return nominal_val; stdvar = nominal_val * rel_variation / sigma; return (nominal_val + stdvar * gauss1()); }