safe Natural Log
If x <= 0.0, then return ln(Double.MIN_VALUE). Since Double.MIN_VALUE is the smallest possible value that is closest to 0.0 without being 0.0. This prevents, ln(0.0) = -Infinity from appearing in calculations.
If x <= 0.0, then return ln(Double.MIN_VALUE). Since Double.MIN_VALUE is the smallest possible value that is closest to 0.0 without being 0.0. This prevents, ln(0.0) = -Infinity from appearing in calculations.