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:
%
%    02 May 2023
%
%  Author:
%
%    John Burkardt
%
%  Reference:
%
%    Jan Jaskowiec, Natarajan Sukumar,
%    High order symmetric cubature rules for tetrahedra and pyramids,
%    International Journal of Numerical Methods in Engineering,
%    Volume 122, Number 1, pages 148-171, 24 August 2020.
%
%  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.3333333333333333, ...
          0.3333333333333333, ...
          0.3333333333333333, ...
          0.4300104731739727, ...
          0.4300104731739727, ...
          0.1399790536520547, ...
          0.1095696683547513, ...
          0.1095696683547513, ...
          0.7808606632904974, ...
          0.0158148366313868, ...
          0.0158148366313868, ...
          0.9683703267372263, ...
          0.4356018236697312, ...
          0.4356018236697312, ...
          0.1287963526605377, ...
          0.4356018236697312, ...
          0.4356018236697312, ...
          0.1287963526605377, ...
          0.1485976165307029, ...
          0.1485976165307029, ...
          0.7028047669385943, ...
          0.1485976165307029, ...
          0.1485976165307029, ...
          0.7028047669385943, ...
          0.0519664835822357, ...
          0.0519664835822357, ...
          0.8960670328355285, ...
          0.0519664835822357, ...
          0.0519664835822357, ...
          0.8960670328355285, ...
          0.4990219694442680, ...
          0.4990219694442680, ...
          0.0019560611114641, ...
          0.4990219694442680, ...
          0.4990219694442680, ...
          0.0019560611114641, ...
          0.0415525016027702, ...
          0.0415525016027702, ...
          0.9168949967944596, ...
          0.0415525016027702, ...
          0.0415525016027702, ...
          0.9168949967944596, ...
          0.2343945196820784, ...
          0.2343945196820784, ...
          0.5312109606358433, ...
          0.2343945196820784, ...
          0.2343945196820784, ...
          0.5312109606358433, ...
          0.0528115168465621, ...
          0.2716521744885937, ...
          0.0528115168465621, ...
          0.6755363086648442, ...
          0.2716521744885937, ...
          0.6755363086648442, ...
          0.0528115168465621, ...
          0.2716521744885937, ...
          0.0528115168465621, ...
          0.6755363086648442, ...
          0.2716521744885937, ...
          0.6755363086648442, ...
          0.1675738337212976, ...
          0.0101912520986929, ...
          0.1675738337212976, ...
          0.8222349141800095, ...
          0.0101912520986929, ...
          0.8222349141800095, ...
          0.1675738337212976, ...
          0.0101912520986929, ...
          0.1675738337212976, ...
          0.8222349141800095, ...
          0.0101912520986929, ...
          0.8222349141800095, ...
          0.3291869417398026, ...
          0.0509081627669518, ...
          0.3291869417398026, ...
          0.6199048954932456, ...
          0.0509081627669518, ...
          0.6199048954932456, ...
          0.3291869417398026, ...
          0.0509081627669518, ...
          0.3291869417398026, ...
          0.6199048954932456, ...
          0.0509081627669518, ...
          0.6199048954932456 ];

  y = [ ...
          0.3333333333333333, ...
          0.3333333333333333, ...
          0.3333333333333333, ...
          0.4300104731739727, ...
          0.1399790536520547, ...
          0.4300104731739727, ...
          0.1095696683547513, ...
          0.7808606632904974, ...
          0.1095696683547513, ...
          0.0158148366313868, ...
          0.9683703267372263, ...
          0.0158148366313868, ...
          0.4356018236697312, ...
          0.1287963526605377, ...
          0.4356018236697312, ...
          0.4356018236697312, ...
          0.1287963526605377, ...
          0.4356018236697312, ...
          0.1485976165307029, ...
          0.7028047669385943, ...
          0.1485976165307029, ...
          0.1485976165307029, ...
          0.7028047669385943, ...
          0.1485976165307029, ...
          0.0519664835822357, ...
          0.8960670328355285, ...
          0.0519664835822357, ...
          0.0519664835822357, ...
          0.8960670328355285, ...
          0.0519664835822357, ...
          0.4990219694442680, ...
          0.0019560611114641, ...
          0.4990219694442680, ...
          0.4990219694442680, ...
          0.0019560611114641, ...
          0.4990219694442680, ...
          0.0415525016027702, ...
          0.9168949967944596, ...
          0.0415525016027702, ...
          0.0415525016027702, ...
          0.9168949967944596, ...
          0.0415525016027702, ...
          0.2343945196820784, ...
          0.5312109606358433, ...
          0.2343945196820784, ...
          0.2343945196820784, ...
          0.5312109606358433, ...
          0.2343945196820784, ...
          0.2716521744885937, ...
          0.0528115168465621, ...
          0.6755363086648442, ...
          0.0528115168465621, ...
          0.6755363086648442, ...
          0.2716521744885937, ...
          0.2716521744885937, ...
          0.0528115168465621, ...
          0.6755363086648442, ...
          0.0528115168465621, ...
          0.6755363086648442, ...
          0.2716521744885937, ...
          0.0101912520986929, ...
          0.1675738337212976, ...
          0.8222349141800095, ...
          0.1675738337212976, ...
          0.8222349141800095, ...
          0.0101912520986929, ...
          0.0101912520986929, ...
          0.1675738337212976, ...
          0.8222349141800095, ...
          0.1675738337212976, ...
          0.8222349141800095, ...
          0.0101912520986929, ...
          0.0509081627669518, ...
          0.3291869417398026, ...
          0.6199048954932456, ...
          0.3291869417398026, ...
          0.6199048954932456, ...
          0.0509081627669518, ...
          0.0509081627669518, ...
          0.3291869417398026, ...
          0.6199048954932456, ...
          0.3291869417398026, ...
          0.6199048954932456, ...
          0.0509081627669518 ];

  z = [ ...
          0.5000000000000000, ...
          0.9825433408084738, ...
          0.0174566591915262, ...
          0.5000000000000000, ...
          0.5000000000000000, ...
          0.5000000000000000, ...
          0.5000000000000000, ...
          0.5000000000000000, ...
          0.5000000000000000, ...
          0.5000000000000000, ...
          0.5000000000000000, ...
          0.5000000000000000, ...
          0.8914517952143866, ...
          0.8914517952143866, ...
          0.8914517952143866, ...
          0.1085482047856134, ...
          0.1085482047856134, ...
          0.1085482047856134, ...
          0.8836628766030707, ...
          0.8836628766030707, ...
          0.8836628766030707, ...
          0.1163371233969292, ...
          0.1163371233969292, ...
          0.1163371233969292, ...
          0.7446456974623019, ...
          0.7446456974623019, ...
          0.7446456974623019, ...
          0.2553543025376981, ...
          0.2553543025376981, ...
          0.2553543025376981, ...
          0.8458358146384862, ...
          0.8458358146384862, ...
          0.8458358146384862, ...
          0.1541641853615138, ...
          0.1541641853615138, ...
          0.1541641853615138, ...
          0.9455005421560339, ...
          0.9455005421560339, ...
          0.9455005421560339, ...
          0.0544994578439661, ...
          0.0544994578439661, ...
          0.0544994578439661, ...
          0.7325671383641421, ...
          0.7325671383641421, ...
          0.7325671383641421, ...
          0.2674328616358579, ...
          0.2674328616358579, ...
          0.2674328616358579, ...
          0.9783107845287782, ...
          0.9783107845287782, ...
          0.9783107845287782, ...
          0.9783107845287782, ...
          0.9783107845287782, ...
          0.9783107845287782, ...
          0.0216892154712218, ...
          0.0216892154712218, ...
          0.0216892154712218, ...
          0.0216892154712218, ...
          0.0216892154712218, ...
          0.0216892154712218, ...
          0.7695898729425880, ...
          0.7695898729425880, ...
          0.7695898729425880, ...
          0.7695898729425880, ...
          0.7695898729425880, ...
          0.7695898729425880, ...
          0.2304101270574120, ...
          0.2304101270574120, ...
          0.2304101270574120, ...
          0.2304101270574120, ...
          0.2304101270574120, ...
          0.2304101270574120, ...
          0.3678576424324543, ...
          0.3678576424324543, ...
          0.3678576424324543, ...
          0.3678576424324543, ...
          0.3678576424324543, ...
          0.3678576424324543, ...
          0.6321423575675457, ...
          0.6321423575675457, ...
          0.6321423575675457, ...
          0.6321423575675457, ...
          0.6321423575675457, ...
          0.6321423575675457 ];

  w = [ ...
          0.0321960882383680, ...
          0.0132395953233874, ...
          0.0132395953233874, ...
          0.0166307172641394, ...
          0.0166307172641394, ...
          0.0166307172641394, ...
          0.0223711737567938, ...
          0.0223711737567938, ...
          0.0223711737567938, ...
          0.0029651442680284, ...
          0.0029651442680284, ...
          0.0029651442680284, ...
          0.0204122071267436, ...
          0.0204122071267436, ...
          0.0204122071267436, ...
          0.0204122071267436, ...
          0.0204122071267436, ...
          0.0204122071267436, ...
          0.0141443496976585, ...
          0.0141443496976585, ...
          0.0141443496976585, ...
          0.0141443496976585, ...
          0.0141443496976585, ...
          0.0141443496976585, ...
          0.0035457088242710, ...
          0.0035457088242710, ...
          0.0035457088242710, ...
          0.0035457088242710, ...
          0.0035457088242710, ...
          0.0035457088242710, ...
          0.0060580804829928, ...
          0.0060580804829928, ...
          0.0060580804829928, ...
          0.0060580804829928, ...
          0.0060580804829928, ...
          0.0060580804829928, ...
          0.0035558880399586, ...
          0.0035558880399586, ...
          0.0035558880399586, ...
          0.0035558880399586, ...
          0.0035558880399586, ...
          0.0035558880399586, ...
          0.0303810246652175, ...
          0.0303810246652175, ...
          0.0303810246652175, ...
          0.0303810246652175, ...
          0.0303810246652175, ...
          0.0303810246652175, ...
          0.0062118567570921, ...
          0.0062118567570921, ...
          0.0062118567570921, ...
          0.0062118567570921, ...
          0.0062118567570921, ...
          0.0062118567570921, ...
          0.0062118567570921, ...
          0.0062118567570921, ...
          0.0062118567570921, ...
          0.0062118567570921, ...
          0.0062118567570921, ...
          0.0062118567570921, ...
          0.0066184191661461, ...
          0.0066184191661461, ...
          0.0066184191661461, ...
          0.0066184191661461, ...
          0.0066184191661461, ...
          0.0066184191661461, ...
          0.0066184191661461, ...
          0.0066184191661461, ...
          0.0066184191661461, ...
          0.0066184191661461, ...
          0.0066184191661461, ...
          0.0066184191661461, ...
          0.0160730625956718, ...
          0.0160730625956718, ...
          0.0160730625956718, ...
          0.0160730625956718, ...
          0.0160730625956718, ...
          0.0160730625956718, ...
          0.0160730625956718, ...
          0.0160730625956718, ...
          0.0160730625956718, ...
          0.0160730625956718, ...
          0.0160730625956718, ...
          0.0160730625956718 ];

  return
end
