public override CategoricalDistribution normalize() { double s = getSum(); if (s != 0 && s != 1.0) { for (int i = 0; i < values.Length; i++) { values[i] = values[i]/s; } reinitLazyValues(); } return this; }