public function __construct(NumberGeneratorInterface $weightGenerator, $min, $max, $rate = 1)
 {
     if ($rate <= 0) {
         throw new \InvalidArgumentException("Rate must be greater than 0");
     }
     $this->rate = $rate;
     parent::__construct($weightGenerator, $min, $max);
 }
 public function __construct(NumberGeneratorInterface $weightGenerator, $min, $max, $coefficients = array())
 {
     $this->coefficients = $coefficients;
     parent::__construct($weightGenerator, $min, $max);
 }