function ubvec_next_gray_test ( )

%*****************************************************************************80
%
%% ubvec_next_gray_test() tests ubvec_next_gray().
%
%  Licensing:
%
%    This code is distributed under the MIT license. 
%
%  Modified:
%
%    19 November 2015
%
%  Author:
%
%    John Burkardt
%
  n = 4;

  fprintf ( 1, '\n' );
  fprintf ( 1, 'UBVEC_NEXT_GRAY_TEST\n' );
  fprintf ( 1, '  UBVEC_NEXT_GRAY returns the next UBVEC in the Gray code.\n' );

  fprintf ( 1, '\n' );
  fprintf ( 1, '   K  UBVEC\n' );
  fprintf ( 1, '\n' );

  k = 0;
  g(1:n) = 0;

  while ( true )

    fprintf ( 1, '  %2d  ', k );
    for j = 1 : n
      fprintf ( 1, '%2d', g(j) );
    end
    fprintf ( 1, '\n' );

    k = k + 1;
    g = ubvec_next_gray ( n, g );

    if ( sum ( g(1:n) ) == 0 )
      break
    end
    
  end

  return
end
