function [ x, w ] = rule10 ( n )

%*****************************************************************************80
%
%% rule10() returns the rule of degree 10.
%
%  Licensing:
%
%    This code is distributed under the MIT license.
%
%  Modified:
%
%    07 July 2014
%
%  Author:
%
%    Original FORTRAN77 version by Hong Xiao, Zydrunas Gimbutas.
%    This MATLAB 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(2,N), the coordinates of the nodes.
%
%    real W(N), the weights.
%
  xs = [ ...
     -0.9853833119314600, ...
     -0.9262105001258388, ...
     -0.9119588710357346, ...
     -0.8792348043990323, ...
      0.7551269206143556, ...
     -0.3188453596839296, ...
     -0.6474946981752547, ...
      0.9492191314088700, ...
     -0.6188661913929927, ...
     -0.9215290755789827, ...
     -0.1043123255663635, ...
      0.9707183739677747, ...
      0.9246684242905355, ...
     -0.1655785251003832, ...
     -0.1844717206212201, ...
      0.6666473305982110, ...
     -0.6115967830349248, ...
      0.3187935759364068, ...
      0.3663139167806795, ...
      0.2105273891482153, ...
      0.7631114939243835, ...
      0.6258661935323967 ];
  ys = [ ...
      0.6240243795898477, ...
     -0.9577495916000753, ...
      0.2065013461988724, ...
      0.9225481682574119, ...
     -0.9538019223425510, ...
      0.9406185571992116, ...
      0.6476354842626755, ...
      0.1142951736422384, ...
     -0.1073322786510873, ...
     -0.5089131904296068, ...
     -0.9663420836873585, ...
     -0.7529656324799600, ...
      0.8117151060164874, ...
     -0.4732489884927658, ...
      0.3507267260891900, ...
      0.4711392149070170, ...
     -0.8103749226019182, ...
     -0.3211002312038632E-01, ...
     -0.7605065507139738, ...
      0.7788254159831852, ...
     -0.3924748753960959, ...
      0.9817119264047970 ];
  ws = [ ...
      0.2360826549495683E-01, ...
      0.2437222107469133E-01, ...
      0.9518348391179431E-01, ...
      0.4422100229516362E-01, ...
      0.5077443794275623E-01, ...
      0.8474079765068482E-01, ...
      0.1630376427353708, ...
      0.8387536029255430E-01, ...
      0.2227307039000182, ...
      0.9431200171676321E-01, ...
      0.6925434184055250E-01, ...
      0.4179721982807350E-01, ...
      0.6271061498530471E-01, ...
      0.2628440705130901, ...
      0.2744383764593098, ...
      0.2007889259004832, ...
      0.1415509025856471, ...
      0.2886706704866435, ...
      0.1841475599924024, ...
      0.1879992823185209, ...
      0.1826311110112870, ...
      0.4473813181012295E-01 ];

  x(1,1:n) = xs(1:n);
  x(2,1:n) = ys(1:n);
  w(1:n) = ws(1:n);

  return
end
