function [ n_data, alpha, x, fx ] = gamma_01_pdf_values ( n_data )

%*****************************************************************************80
%
%% gamma_01_pdf_values() returns some values of the standard Gamma PDF.
%
%  Licensing:
%
%    This code is distributed under the MIT license.
%
%  Modified:
%
%    28 July 2015
%
%  Author:
%
%    John Burkardt
%
%  Input:
%
%    integer N_DATA.  The user sets N_DATA to 0 before the first call.  
%    Thereafter, it should simply be the value returned by the previous call.
%
%  Output:
%
%    integer N_DATA.  On each call, the routine increments N_DATA by 1, and
%    returns the corresponding data; when there is no more data, the
%    output value of N_DATA will be 0 again.
%
%    real ALPHA, the shape parameter.
%
%    real X, the argument of the function.
%
%    real FX, the value of the function.
%
  n_max = 10;

  alpha_vec = [ ...
         1.092091484911879, ...
         4.147546169663503, ...
         2.076535407379806, ...
         1.287888961910225, ...
        0.2191449888955355, ...
        0.3086361453280091, ...
         2.006531407488083, ...
         3.986434770531281, ...
         4.487520304498656, ...
         0.472723751058401 ]; 

  fx_vec = [ ...
    0.00009260811963612823, ...
        0.1260335478747823, ...
        0.1363536772414351, ...
        0.5114450139194701, ...
     0.0001230139468263628, ...
      0.001870342832511005, ...
      0.004476000451227789, ...
                       0.0, ...
        0.2056668486524041, ...
                       0.0 ];

  x_vec = [ ...
         9.541334553343761, ...
          5.39780214905239, ...
        0.1942467166183289, ...
        0.6545463320909413, ...
         6.156639979175331, ...
         4.220159083225351, ...
         7.424071607424807, ...
       -0.4806971028367454, ...
          3.18289954879574, ...
       -0.3570226383736496 ];

  if ( n_data < 0 )
    n_data = 0;
  end

  n_data = n_data + 1;

  if ( n_max < n_data )
    n_data = 0;
    alpha = 0.0;
    x = 0.0;
    fx = 0.0;
  else
    alpha = alpha_vec(n_data);
    x = x_vec(n_data);
    fx = fx_vec(n_data);
  end

  return
end
