function [ x, y, w ] = rule07 ( n )

%*****************************************************************************80
%
%% rule07() returns the rule of degree 7.
%
%  Licensing:
%
%    This code is distributed under the MIT license.
%
%  Modified:
%
%    08 June 2023
%
%  Author:
%
%    Original FORTRAN77 version by Hong Xiao, Zydrunas Gimbutas.
%    This version by John Burkardt.
%
%  Reference:
%
%    Hong Xiao, Zydrunas Gimbutas,
%    A numerical algorithm for the construction of efficient quadrature
%    rules in two and higher dimensions,
%    Computers and Mathematics with Applications,
%    Volume 59, 2010, pages 663-676.
%
%  Input:
%
%    integer N, the number of nodes.
%
%  Output:
%
%    real x(n), y(n): the coordinates of the nodes.
%
%    real w(n): the weights.
%
  xs = [ ...
    0.4595981103653579E-16, ...
    0.9258200997725515E+00, ...
    0.6742045114073804E-16, ...
   -0.9258200997725515E+00, ...
   -0.3805544332083157E+00, ...
    0.3805544332083157E+00, ...
    0.3805544332083157E+00, ...
   -0.3805544332083157E+00, ...
   -0.8059797829185990E+00, ...
    0.8059797829185988E+00, ...
    0.8059797829185990E+00, ...
   -0.8059797829185988E+00 ];
  ys = [ ...
   -0.9258200997725515E+00, ...
   -0.1073032005210112E-16, ...
    0.9258200997725515E+00, ...
    0.1241105822293750E-15, ...
   -0.3805544332083157E+00, ...
   -0.3805544332083157E+00, ...
    0.3805544332083157E+00, ...
    0.3805544332083157E+00, ...
   -0.8059797829185988E+00, ...
   -0.8059797829185990E+00, ...
    0.8059797829185988E+00, ...
    0.8059797829185990E+00 ];
  ws = [ ...
    0.1711023816204485E+00, ...
    0.1711023816204485E+00, ...
    0.1711023816204485E+00, ...
    0.1711023816204485E+00, ...
    0.3681147816131979E+00, ...
    0.3681147816131979E+00, ...
    0.3681147816131979E+00, ...
    0.3681147816131979E+00, ...
    0.1678896179529011E+00, ...
    0.1678896179529011E+00, ...
    0.1678896179529011E+00, ...
    0.1678896179529011E+00 ];

  x = 0.5 * ( xs + 1.0 );
  y = 0.5 * ( ys + 1.0 );
  w = ws / sqrt ( 8.0 );

  return
end
