mirror of
https://git.code.sf.net/p/ngspice/ngspice
synced 2026-08-22 05:47:42 +02:00
Stat. functions: safeguard against divide by zero, return nominal value
This commit is contained in:
@@ -2363,6 +2363,8 @@ static double
|
|||||||
agauss(double nominal_val, double abs_variation, double sigma)
|
agauss(double nominal_val, double abs_variation, double sigma)
|
||||||
{
|
{
|
||||||
double stdvar;
|
double stdvar;
|
||||||
|
if (abs_variation <= 0 || sigma <= 0)
|
||||||
|
return nominal_val;
|
||||||
stdvar = abs_variation / sigma;
|
stdvar = abs_variation / sigma;
|
||||||
return (nominal_val + stdvar * gauss1());
|
return (nominal_val + stdvar * gauss1());
|
||||||
}
|
}
|
||||||
@@ -2372,6 +2374,8 @@ static double
|
|||||||
gauss(double nominal_val, double rel_variation, double sigma)
|
gauss(double nominal_val, double rel_variation, double sigma)
|
||||||
{
|
{
|
||||||
double stdvar;
|
double stdvar;
|
||||||
|
if (rel_variation <= 0 || sigma <= 0)
|
||||||
|
return nominal_val;
|
||||||
stdvar = nominal_val * rel_variation / sigma;
|
stdvar = nominal_val * rel_variation / sigma;
|
||||||
return (nominal_val + stdvar * gauss1());
|
return (nominal_val + stdvar * gauss1());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -47,6 +47,8 @@ static double
|
|||||||
agauss(double nominal_val, double abs_variation, double sigma)
|
agauss(double nominal_val, double abs_variation, double sigma)
|
||||||
{
|
{
|
||||||
double stdvar;
|
double stdvar;
|
||||||
|
if (abs_variation <= 0 || sigma <= 0)
|
||||||
|
return nominal_val;
|
||||||
stdvar = abs_variation / sigma;
|
stdvar = abs_variation / sigma;
|
||||||
return (nominal_val + stdvar * gauss1());
|
return (nominal_val + stdvar * gauss1());
|
||||||
}
|
}
|
||||||
@@ -56,6 +58,8 @@ static double
|
|||||||
gauss(double nominal_val, double rel_variation, double sigma)
|
gauss(double nominal_val, double rel_variation, double sigma)
|
||||||
{
|
{
|
||||||
double stdvar;
|
double stdvar;
|
||||||
|
if (rel_variation <= 0 || sigma <= 0)
|
||||||
|
return nominal_val;
|
||||||
stdvar = nominal_val * rel_variation / sigma;
|
stdvar = nominal_val * rel_variation / sigma;
|
||||||
return (nominal_val + stdvar * gauss1());
|
return (nominal_val + stdvar * gauss1());
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user