function ranlib_test_ignbin ( phrase )

%*****************************************************************************80
%
%% RANLIB_TEST_IGNBIN tests IGNBIN, which generates Binomial deviates.
%
%  Licensing:
%
%    This code is distributed under the GNU LGPL license.
%
%  Modified:
%
%    01 April 2013
%
%  Author:
%
%    John Burkardt
%
  n = 10000;

  fprintf ( 1, '\n' );
  fprintf ( 1, 'RANLIB_TEST_IGNBIN\n' );
  fprintf ( 1, '  Test IGNBIN,\n' );
  fprintf ( 1, '  which generates binomial deviates.\n' );
%
%  Initialize the generators.
%
  initialize ( );
%
%  Set the seeds based on the phrase.
%
  [ seed1, seed2 ] = phrtsd ( phrase );
%
%  Initialize all generators.
%
  set_initial_seed ( seed1, seed2 );
%
%  Select the parameters at random within a given range.
%
  low = 0.5;
  high = 20.0;
  nn = floor ( genunf ( low, high ) );

  low = 0.0;
  high = 1.0;
  pp = genunf ( low, high );

  fprintf ( 1, '\n' );
  fprintf ( 1, '  N = %d\n', n );
  fprintf ( 1, '\n' );
  fprintf ( 1, '  Parameters:\n' );
  fprintf ( 1, '\n' );
  fprintf ( 1, '  NN = %d\n', nn );
  fprintf ( 1, '  PP = %g\n', pp );
%
%  Generate N samples.
%
  for i = 1 : n
    array(i) = ignbin ( nn, pp );
  end
%
%  Compute statistics on the samples.
%
  [ av, var, xmin, xmax ] = stats ( array, n );
%
%  Request expected value of statistics for this distribution.
%
  pdf = 'bin';
  param(1) = nn;
  param(2) = pp;
  [ avtr, vartr ] = trstat ( pdf, param );

  fprintf ( 1, '\n' );
  fprintf ( 1, '  Sample data range:          %14.6g  %14.6g\n', xmin, xmax );
  fprintf ( 1, '  Sample mean, variance:      %14.6g  %14.6g\n', av,   var );
  fprintf ( 1, '  Distribution mean, variance %14.6g  %14.6g\n', avtr, vartr );

  return
end
