function [ x, y, z, w ] = rule10 ( )

%*****************************************************************************80
%
%% rule10() returns the prism rule of precision 10.
%
%  Discussion:
%
%    We suppose we are given a triangular prism P with vertices
%    (1,0,0), (0,1,0), (0,0,0),
%    (1,0,1), (0,1,1), (0,0,1),
%    We call a rule with n points, returning coordinates
%    x, y, z, and weights w.  Then the integral I of f(x,y,z) over P is 
%    approximated by Q as follows:
%
%    Q = volume(P) * sum ( 1 <= i <= n ) w(i) * f(x(i),y(i),z(i)) 
%
%  Licensing:
%
%    This code is distributed under the MIT license.
%
%  Modified:
%
%    27 April 2023
%
%  Author:
%
%    John Burkardt
%
%  Reference:
%
%    Freddie Witherden, Peter Vincent,
%    On the identification of symmetric quadrature rules for finite element methods,
%    Computers and Mathematics with Applications,
%    Volume 69, pages 1232-1241, 2015.
%
%  Output:
%
%    real x(n), y(n), z(n): the coordinates of quadrature points.
%
%    real w(n): the quadrature weights, which sum to 1.
%
  x = [ ...
          0.3333333333333334, ...
          0.3333333333333334, ...
          0.3333333333333334, ...
          0.3333333333333334, ...
          0.2074503749892171, ...
          0.5850992500215657, ...
          0.2074503749892171, ...
          0.4561273628680818, ...
          0.0877452742638365, ...
          0.4561273628680818, ...
          0.0833192521500528, ...
          0.8333614956998945, ...
          0.0833192521500528, ...
          0.2071663521398311, ...
          0.5856672957203378, ...
          0.2071663521398311, ...
          0.2071663521398311, ...
          0.5856672957203378, ...
          0.2071663521398311, ...
          0.1429911965428408, ...
          0.7140176069143184, ...
          0.1429911965428408, ...
          0.1429911965428408, ...
          0.7140176069143184, ...
          0.1429911965428408, ...
          0.4970408872397459, ...
          0.0059182255205082, ...
          0.4970408872397459, ...
          0.4970408872397459, ...
          0.0059182255205082, ...
          0.4970408872397459, ...
          0.4277824598534921, ...
          0.1444350802930158, ...
          0.4277824598534921, ...
          0.4277824598534921, ...
          0.1444350802930158, ...
          0.4277824598534921, ...
          0.0367246894695538, ...
          0.9265506210608924, ...
          0.0367246894695538, ...
          0.0367246894695538, ...
          0.9265506210608924, ...
          0.0367246894695538, ...
          0.0018926195990494, ...
          0.9979100409523263, ...
          0.0001973394486243, ...
          0.9979100409523263, ...
          0.0001973394486243, ...
          0.0018926195990494, ...
          0.0432896837794919, ...
          0.6627532432395955, ...
          0.2939570729809126, ...
          0.6627532432395955, ...
          0.2939570729809126, ...
          0.0432896837794919, ...
          0.0432896837794919, ...
          0.6627532432395955, ...
          0.2939570729809126, ...
          0.6627532432395955, ...
          0.2939570729809126, ...
          0.0432896837794919, ...
          0.0382915191722036, ...
          0.6875657341783573, ...
          0.2741427466494392, ...
          0.6875657341783573, ...
          0.2741427466494392, ...
          0.0382915191722036, ...
          0.0382915191722036, ...
          0.6875657341783573, ...
          0.2741427466494392, ...
          0.6875657341783573, ...
          0.2741427466494392, ...
          0.0382915191722036, ...
          0.0160393936272334, ...
          0.8702636086393689, ...
          0.1136969977333976, ...
          0.8702636086393689, ...
          0.1136969977333976, ...
          0.0160393936272334, ...
          0.0160393936272334, ...
          0.8702636086393689, ...
          0.1136969977333976, ...
          0.8702636086393689, ...
          0.1136969977333976, ...
          0.0160393936272334 ];

  y = [ ...
          0.3333333333333334, ...
          0.3333333333333334, ...
          0.3333333333333334, ...
          0.3333333333333334, ...
          0.5850992500215657, ...
          0.2074503749892171, ...
          0.2074503749892171, ...
          0.0877452742638365, ...
          0.4561273628680818, ...
          0.4561273628680818, ...
          0.8333614956998945, ...
          0.0833192521500528, ...
          0.0833192521500528, ...
          0.5856672957203378, ...
          0.2071663521398311, ...
          0.2071663521398311, ...
          0.5856672957203378, ...
          0.2071663521398311, ...
          0.2071663521398311, ...
          0.7140176069143184, ...
          0.1429911965428408, ...
          0.1429911965428408, ...
          0.7140176069143184, ...
          0.1429911965428408, ...
          0.1429911965428408, ...
          0.0059182255205082, ...
          0.4970408872397459, ...
          0.4970408872397459, ...
          0.0059182255205082, ...
          0.4970408872397459, ...
          0.4970408872397459, ...
          0.1444350802930158, ...
          0.4277824598534921, ...
          0.4277824598534921, ...
          0.1444350802930158, ...
          0.4277824598534921, ...
          0.4277824598534921, ...
          0.9265506210608924, ...
          0.0367246894695538, ...
          0.0367246894695538, ...
          0.9265506210608924, ...
          0.0367246894695538, ...
          0.0367246894695538, ...
          0.9979100409523263, ...
          0.0018926195990494, ...
          0.9979100409523263, ...
          0.0001973394486243, ...
          0.0018926195990494, ...
          0.0001973394486243, ...
          0.6627532432395955, ...
          0.0432896837794919, ...
          0.6627532432395955, ...
          0.2939570729809126, ...
          0.0432896837794919, ...
          0.2939570729809126, ...
          0.6627532432395955, ...
          0.0432896837794919, ...
          0.6627532432395955, ...
          0.2939570729809126, ...
          0.0432896837794919, ...
          0.2939570729809126, ...
          0.6875657341783573, ...
          0.0382915191722036, ...
          0.6875657341783573, ...
          0.2741427466494392, ...
          0.0382915191722036, ...
          0.2741427466494392, ...
          0.6875657341783573, ...
          0.0382915191722036, ...
          0.6875657341783573, ...
          0.2741427466494392, ...
          0.0382915191722036, ...
          0.2741427466494392, ...
          0.8702636086393689, ...
          0.0160393936272334, ...
          0.8702636086393689, ...
          0.1136969977333976, ...
          0.0160393936272334, ...
          0.1136969977333976, ...
          0.8702636086393689, ...
          0.0160393936272334, ...
          0.8702636086393689, ...
          0.1136969977333976, ...
          0.0160393936272334, ...
          0.1136969977333976 ];

  z = [ ...
          0.0000000000000000, ...
          1.0000000000000000, ...
          0.3580817993007142, ...
          0.6419182006992858, ...
          0.5000000000000000, ...
          0.5000000000000000, ...
          0.5000000000000000, ...
          0.5000000000000000, ...
          0.5000000000000000, ...
          0.5000000000000000, ...
          0.5000000000000000, ...
          0.5000000000000000, ...
          0.5000000000000000, ...
          0.2608548695498160, ...
          0.2608548695498160, ...
          0.2608548695498160, ...
          0.7391451304501840, ...
          0.7391451304501840, ...
          0.7391451304501840, ...
          0.0739666680004302, ...
          0.0739666680004302, ...
          0.0739666680004302, ...
          0.9260333319995698, ...
          0.9260333319995698, ...
          0.9260333319995698, ...
          0.1862549441760233, ...
          0.1862549441760233, ...
          0.1862549441760233, ...
          0.8137450558239767, ...
          0.8137450558239767, ...
          0.8137450558239767, ...
          0.1155140587235295, ...
          0.1155140587235295, ...
          0.1155140587235295, ...
          0.8844859412764705, ...
          0.8844859412764705, ...
          0.8844859412764705, ...
          0.0273190720391215, ...
          0.0273190720391215, ...
          0.0273190720391215, ...
          0.9726809279608786, ...
          0.9726809279608786, ...
          0.9726809279608786, ...
          0.5000000000000000, ...
          0.5000000000000000, ...
          0.5000000000000000, ...
          0.5000000000000000, ...
          0.5000000000000000, ...
          0.5000000000000000, ...
          0.0288182662745812, ...
          0.0288182662745812, ...
          0.0288182662745812, ...
          0.0288182662745812, ...
          0.0288182662745812, ...
          0.0288182662745812, ...
          0.9711817337254187, ...
          0.9711817337254187, ...
          0.9711817337254187, ...
          0.9711817337254187, ...
          0.9711817337254187, ...
          0.9711817337254187, ...
          0.3323319456663029, ...
          0.3323319456663029, ...
          0.3323319456663029, ...
          0.3323319456663029, ...
          0.3323319456663029, ...
          0.3323319456663029, ...
          0.6676680543336971, ...
          0.6676680543336971, ...
          0.6676680543336971, ...
          0.6676680543336971, ...
          0.6676680543336971, ...
          0.6676680543336971, ...
          0.1928382490614613, ...
          0.1928382490614613, ...
          0.1928382490614613, ...
          0.1928382490614613, ...
          0.1928382490614613, ...
          0.1928382490614613, ...
          0.8071617509385387, ...
          0.8071617509385387, ...
          0.8071617509385387, ...
          0.8071617509385387, ...
          0.8071617509385387, ...
          0.8071617509385387 ];

  w = [ ...
          0.0095107770210602, ...
          0.0095107770210602, ...
          0.0320123016081395, ...
          0.0320123016081395, ...
          0.0113557896200342, ...
          0.0113557896200342, ...
          0.0113557896200342, ...
          0.0301966545250866, ...
          0.0301966545250866, ...
          0.0301966545250866, ...
          0.0176309095004028, ...
          0.0176309095004028, ...
          0.0176309095004028, ...
          0.0260882953260851, ...
          0.0260882953260851, ...
          0.0260882953260851, ...
          0.0260882953260851, ...
          0.0260882953260851, ...
          0.0260882953260851, ...
          0.0113382624425785, ...
          0.0113382624425785, ...
          0.0113382624425785, ...
          0.0113382624425785, ...
          0.0113382624425785, ...
          0.0113382624425785, ...
          0.0070316434137385, ...
          0.0070316434137385, ...
          0.0070316434137385, ...
          0.0070316434137385, ...
          0.0070316434137385, ...
          0.0070316434137385, ...
          0.0243250168786856, ...
          0.0243250168786856, ...
          0.0243250168786856, ...
          0.0243250168786856, ...
          0.0243250168786856, ...
          0.0243250168786856, ...
          0.0018924357100839, ...
          0.0018924357100839, ...
          0.0018924357100839, ...
          0.0018924357100839, ...
          0.0018924357100839, ...
          0.0018924357100839, ...
          0.0007802159100457, ...
          0.0007802159100457, ...
          0.0007802159100457, ...
          0.0007802159100457, ...
          0.0007802159100457, ...
          0.0007802159100457, ...
          0.0060458851624517, ...
          0.0060458851624517, ...
          0.0060458851624517, ...
          0.0060458851624517, ...
          0.0060458851624517, ...
          0.0060458851624517, ...
          0.0060458851624517, ...
          0.0060458851624517, ...
          0.0060458851624517, ...
          0.0060458851624517, ...
          0.0060458851624517, ...
          0.0060458851624517, ...
          0.0136507771841729, ...
          0.0136507771841729, ...
          0.0136507771841729, ...
          0.0136507771841729, ...
          0.0136507771841729, ...
          0.0136507771841729, ...
          0.0136507771841729, ...
          0.0136507771841729, ...
          0.0136507771841729, ...
          0.0136507771841729, ...
          0.0136507771841729, ...
          0.0136507771841729, ...
          0.0061923846298526, ...
          0.0061923846298526, ...
          0.0061923846298526, ...
          0.0061923846298526, ...
          0.0061923846298526, ...
          0.0061923846298526, ...
          0.0061923846298526, ...
          0.0061923846298526, ...
          0.0061923846298526, ...
          0.0061923846298526, ...
          0.0061923846298526, ...
          0.0061923846298526 ];

  return
end
