Accord.Math.Special.Log1pexp C# (CSharp) Method

Log1pexp() private method

private Log1pexp ( double x ) : double
x double
return double
        public static double Log1pexp(double x)
        {
            // Computes Math.Log(1.0 / (1.0 + Math.Exp(-sum)));
            // https://cran.r-project.org/web/packages/Rmpfr/vignettes/log1mexp-note.pdf

            if (x < -37)
                return Math.Exp(x);
            if (x <= 18)
                return Special.Log1p(Math.Exp(x));
            if (x <= 33)
                return x + Math.Exp(-x);
            return x;
        }
    }