public override double Generate() { double U = UniformContinuousDistribution.Standard.Generate(); if (ksi == 0) return mu - sigma * Math.Log(U); return mu + sigma * (Math.Pow(U, -ksi) - 1) / ksi; } }