code: public function samples($amount)
      {
  
          if (!is_numeric($amount) || $amount < 1) {
              throw new \InvalidArgumentException('Amount of samples must be greater or equal to one');
          }
  
          $arr = array();
  
          for ($i = 1; $i <= $amount; $i++) {
              $r = new Random();
              $float_u = $r->get();
              $float_v = $r->get();
  
              $double_x = $this->float_sigma * sqrt(-2 * log($float_u)) * cos(2 * pi() * $float_v) + $this->float_mu;
  
              if ($this->int_precision) {
                  $arr[] = round($double_x, $this->int_precision);
              } else {
                  $arr[] = $double_x;
              }
          }
  
          return $arr;
      }
docs: Simulates samples following normal distribution
  
  @see NormalDistribution::precision()
  @throw \InvalidArgumentException If amount is not greater than zero
  @param  integer $amount
  @access public
  @return array