function [ n_data, c, tf ] = is_gaussian_prime_values ( n_data )

%*****************************************************************************80
%
%% is_gaussian_prime_values() returns some values of the is_gaussian_prime() function.
%
%  Discussion:
%
%    is_gaussian_prime(c) is TRUE if the complex number c is a Gaussian
%    prime.
%
%  Licensing:
%
%    This code is distributed under the MIT license.
%
%  Modified:
%
%    26 January 2023
%
%  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.
%
%    complex c: a value to be queried.
%
%    logical tf: true if c is a Gaussian prime.
%
  n_max = 24;

  c_vec = [ ...
          0, ...
          3, ...
          2, ...
          7, ...
         12, ...
         11, ...
        509, ...
        503, ...
        2.5, ...
    -5-4i, ...
       6i, ...
    -4-5i, ...
     4-3i, ...
    -3-2i, ...
    -3+3i, ...
    -2-5i, ...
    +1+5i, ...
    -1-2i, ...
     3+1i, ...
     1-4i, ...
       1i, ...
     2-3i, ...
     7+3i, ...
     4+1i ];

  tf_vec = [ ...
            false, ...
            true, ...
            false, ...
            true, ...
            false, ...
            true, ...
            false, ...
            true, ...
            false, ...
            true, ...
            false, ...
            true, ...
            false, ...
            true, ...
            false, ...
            true, ...
            false, ...
            true, ...
            false, ...
            true, ...
            false, ...
            true, ...
            false, ...
            true ];

  if ( n_data < 0 )
    n_data = 0;
  end

  n_data = n_data + 1;

  if ( n_max < n_data )
    n_data = 0;
    c = 0;
    tf = false;
  else
    c = c_vec(n_data);
    tf = tf_vec(n_data);
  end

  return
end
