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

%*****************************************************************************80
%
%% rule15() returns the rule of degree 15.
%
%  Licensing:
%
%    This code is distributed under the MIT license.
%
%  Modified:
%
%    01 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(n), y(n): the coordinates of the nodes.
%
%    real w(n): the weights.
%
  xs = [ ...
    0.7749527857778351E+00, ...
    0.9885448991378063E+00, ...
   -0.7749527857778349E+00, ...
   -0.9885448991378063E+00, ...
   -0.9070374303651182E+00, ...
    0.9571446613308432E+00, ...
    0.9070374303651184E+00, ...
   -0.9571446613308430E+00, ...
   -0.4303978306869286E+00, ...
    0.9769578054468787E+00, ...
    0.4303978306869287E+00, ...
   -0.9769578054468787E+00, ...
   -0.9756646723906326E+00, ...
    0.1107064048513496E+00, ...
    0.9756646723906326E+00, ...
   -0.1107064048513495E+00, ...
   -0.7388921437312957E+00, ...
    0.7868610204187212E+00, ...
    0.7388921437312957E+00, ...
   -0.7868610204187212E+00, ...
    0.1995220876718269E+00, ...
    0.6659287668239546E+00, ...
   -0.1995220876718268E+00, ...
   -0.6659287668239546E+00, ...
   -0.1934983412061240E+00, ...
    0.8412271039808018E+00, ...
    0.1934983412061241E+00, ...
   -0.8412271039808018E+00, ...
    0.4882189227791580E+00, ...
    0.8922368778153702E+00, ...
   -0.4882189227791579E+00, ...
   -0.8922368778153702E+00, ...
   -0.5772265461040059E+00, ...
    0.9526539504944950E+00, ...
    0.5772265461040061E+00, ...
   -0.9526539504944950E+00, ...
   -0.4474426063114782E+00, ...
    0.5675455860909890E+00, ...
    0.4474426063114783E+00, ...
   -0.5675455860909890E+00, ...
   -0.7044956995149931E-01, ...
    0.3256679896817100E+00, ...
    0.7044956995149934E-01, ...
   -0.3256679896817100E+00 ];
  ys = [ ...
   -0.9885448991378063E+00, ...
    0.7749527857778350E+00, ...
    0.9885448991378063E+00, ...
   -0.7749527857778348E+00, ...
   -0.9571446613308433E+00, ...
   -0.9070374303651183E+00, ...
    0.9571446613308431E+00, ...
    0.9070374303651185E+00, ...
   -0.9769578054468787E+00, ...
   -0.4303978306869286E+00, ...
    0.9769578054468787E+00, ...
    0.4303978306869287E+00, ...
   -0.1107064048513496E+00, ...
   -0.9756646723906326E+00, ...
    0.1107064048513495E+00, ...
    0.9756646723906326E+00, ...
   -0.7868610204187212E+00, ...
   -0.7388921437312957E+00, ...
    0.7868610204187212E+00, ...
    0.7388921437312957E+00, ...
   -0.6659287668239546E+00, ...
    0.1995220876718268E+00, ...
    0.6659287668239546E+00, ...
   -0.1995220876718268E+00, ...
   -0.8412271039808018E+00, ...
   -0.1934983412061240E+00, ...
    0.8412271039808018E+00, ...
    0.1934983412061241E+00, ...
   -0.8922368778153702E+00, ...
    0.4882189227791580E+00, ...
    0.8922368778153702E+00, ...
   -0.4882189227791578E+00, ...
   -0.9526539504944950E+00, ...
   -0.5772265461040060E+00, ...
    0.9526539504944950E+00, ...
    0.5772265461040063E+00, ...
   -0.5675455860909890E+00, ...
   -0.4474426063114783E+00, ...
    0.5675455860909890E+00, ...
    0.4474426063114784E+00, ...
   -0.3256679896817100E+00, ...
   -0.7044956995149933E-01, ...
    0.3256679896817100E+00, ...
    0.7044956995149936E-01 ];
  ws = [ ...
    0.1443015463807196E-01, ...
    0.1443015463807196E-01, ...
    0.1443015463807196E-01, ...
    0.1443015463807196E-01, ...
    0.1816242330920956E-01, ...
    0.1816242330920956E-01, ...
    0.1816242330920956E-01, ...
    0.1816242330920956E-01, ...
    0.1290815898308381E-01, ...
    0.1290815898308381E-01, ...
    0.1290815898308381E-01, ...
    0.1290815898308381E-01, ...
    0.3010764365372140E-01, ...
    0.3010764365372140E-01, ...
    0.3010764365372140E-01, ...
    0.3010764365372140E-01, ...
    0.6540469907131932E-01, ...
    0.6540469907131932E-01, ...
    0.6540469907131932E-01, ...
    0.6540469907131932E-01, ...
    0.1197895531736646E+00, ...
    0.1197895531736646E+00, ...
    0.1197895531736646E+00, ...
    0.1197895531736646E+00, ...
    0.8473841548096289E-01, ...
    0.8473841548096289E-01, ...
    0.8473841548096289E-01, ...
    0.8473841548096289E-01, ...
    0.6453833756714425E-01, ...
    0.6453833756714425E-01, ...
    0.6453833756714425E-01, ...
    0.6453833756714425E-01, ...
    0.2403055376316494E-01, ...
    0.2403055376316494E-01, ...
    0.2403055376316494E-01, ...
    0.2403055376316494E-01, ...
    0.1196130510491228E+00, ...
    0.1196130510491228E+00, ...
    0.1196130510491228E+00, ...
    0.1196130510491228E+00, ...
    0.1533837904970821E+00, ...
    0.1533837904970821E+00, ...
    0.1533837904970821E+00, ...
    0.1533837904970821E+00 ];

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

  return
end
