function row_echelon_integer_test ( )

%*****************************************************************************80
%
%% row_echelon_integer_test tests row_echelon_integer.
%
%  Licensing:
%
%    This code is distributed under the GNU LGPL license.
%
%  Modified:
%
%    07 March 2019
%
%  Author:
%
%    John Burkardt
%
  addpath ( '../row_echelon_integer' );

  timestamp ( );
  fprintf ( 1, '\n' );
  fprintf ( 1, 'row_echelon_integer_test\n' );
  fprintf ( 1, '  MATLAB version\n' );
  fprintf ( 1, '  Test row_echelon_integer.\n' );

  i4_gcd_test ( );

  i4mat_is_integer_test ( );
  i4mat_print_test ( );
  i4mat_print_some_test ( );
  i4mat_ref_test ( );
  i4mat_row_swap_test ( );
  i4mat_rref_test ( );
  i4mat_rref_solve_binary_test ( );
  i4mat_rref_solve_binary_nz_test ( );
  i4mat_rref_system_test ( );
  i4mat_u_solve_test ( );

  i4vec_binary_next_test ( );
  i4vec_identity_row_test ( );
  i4vec_is_binary_test ( );
  i4vec_print_test ( );
  i4vec_red_test ( );
  i4vec_transpose_print_test ( );

  ksub_next4_test ( );

  r8vec_is_integer_test ( );
  r8vec_print_test ( );
  r8vec_transpose_print_test ( );
%
%  Terminate.
%
  fprintf ( 1, '\n' );
  fprintf ( 1, 'row_echelon_integer_test\n' );
  fprintf ( 1, '  Normal end of execution.\n' );
  fprintf ( 1, '\n' );
  timestamp ( );

  rmpath ( '../row_echelon_integer' );

  return
end
