public InverseGammaDistribution([Positive] double shape, [Positive] double scale) { if (shape <= 0) throw new ArgumentOutOfRangeException("shape"); if (scale <= 0) throw new ArgumentOutOfRangeException("scale"); this.a = shape; this.b = scale; this.constant = Math.Pow(b, a) / Gamma.Function(a); }