43 public LognormalDistFromMoments(
double mean,
double var) {
44 super(
getMu(mean, var), Math.sqrt(getSigma2(mean, var)));
47 private static double getMu(
double mean,
double var) {
48 final double sigma2 = getSigma2(mean, var);
49 return Math.log(mean) - sigma2 / 2.0;
52 private static double getSigma2(
double mean,
double var) {
54 throw new IllegalArgumentException(
"Mean must be positive");
56 throw new IllegalArgumentException(
"Variance must be positive");
57 return Math.log(var / (mean * mean) + 1);