function elliptic_inc_pim_test ( )

%*****************************************************************************80
%
%% elliptic_inc_pim_test() tests elliptic_inc_pim().
%
%  Licensing:
%
%    This code is distributed under the MIT license.
%
%  Modified:
%
%    22 June 2018
%
%  Author:
%
%    John Burkardt
%
  fprintf ( 1, '\n' );
  fprintf ( 1, 'ELLIPTIC_INC_PIM_TEST():\n' );
  fprintf ( 1, '  ELLIPTIC_INC_PIM returns values of\n' );
  fprintf ( 1, '  the incomplete elliptic integral of the\n' );
  fprintf ( 1, '  third kind, with parameters PHI, N, M.\n' );
  fprintf ( 1, '  Compare with MATLAB ellipticPi(n,phi,m)\n' );
  fprintf ( 1, '\n' );
  fprintf ( 1, '          Phi             N               M                ')
  fprintf ( 1, 'ellipticPi(n,phi,m)    elliptic_inc_pim(phi,n,m)\n' );
  fprintf ( 1, '\n' );

  for i = 1 : 20

    phi = 0.5 * pi * rand ( 1, 1 );
    nbound = ( 1.0 / sin ( phi ) ) ^ 2;
    n = - nbound + 2.0 * nbound * rand ( 1, 1 );
    mbound = ( 1.0 / sin ( phi ) ) ^ 2;
    m = mbound * rand ( 1, 1 );
    fx1 = ellipticPi ( n, phi, m );
    fx2 = elliptic_inc_pim ( phi, n, m );

    fprintf ( 1, '  %14.6f  %14.6f  %14.6f  %24.16g  %24.16g\n', phi, n, m, fx1, fx2 );

  end

  return
end
