20 #include "libmesh/quadrature_gauss.h" 
   21 #include "libmesh/enum_quadrature_type.h" 
   39                         const unsigned int n_pts)
 
   50   unsigned int offset=0;
 
   53   for (
unsigned int p=0; p<n_pts; ++p)
 
   57       libmesh_assert_not_equal_to (rule_data[p][0], static_cast<Real>(0.0));
 
   60       libmesh_assert_not_equal_to (rule_data[p][3], static_cast<Real>(0.0));
 
   66       unsigned int pointtype=1;
 
   68       if (rule_data[p][1] != static_cast<Real>(0.0))
 
   70           if (rule_data[p][2] != static_cast<Real>(0.0))
 
   78           if (rule_data[p][2] != static_cast<Real>(0.0))
 
   88             libmesh_assert_less (offset + 0, 
_points.size());
 
   90             const Real a = rule_data[p][0];
 
   96             _weights[offset + 0] = rule_data[p][3];
 
  105             libmesh_assert_less (offset + 3, 
_points.size());
 
  107             const Real a  = rule_data[p][0];
 
  108             const Real b  = rule_data[p][1];
 
  109             const Real wt = rule_data[p][3];
 
  118             for (
unsigned int j=0; j<pointtype; ++j)
 
  128             libmesh_assert_less (offset + 5, 
_points.size());
 
  130             const Real a  = rule_data[p][0];
 
  131             const Real b  = rule_data[p][2];
 
  132             const Real wt = rule_data[p][3];
 
  142             for (
unsigned int j=0; j<pointtype; ++j)
 
  153             libmesh_assert_less (offset + 11, 
_points.size());
 
  155             const Real a  = rule_data[p][0];
 
  156             const Real b  = rule_data[p][1];
 
  157             const Real c  = rule_data[p][2];
 
  158             const Real wt = rule_data[p][3];
 
  168             for (
unsigned int j=0; j<pointtype; ++j)
 
  176           libmesh_error_msg(
"Don't know what to do with this many permutation points!");
 
  193                             const unsigned int * permutation_ids,
 
  199   unsigned int total_pts = 0;
 
  200   for (
unsigned int p=0; p<n_wts; ++p)
 
  201     total_pts += permutation_ids[p];
 
  208   unsigned int offset=0;
 
  210   for (
unsigned int p=0; p<n_wts; ++p)
 
  212       switch (permutation_ids[p])
 
  233             for (
unsigned int j=0; j<3; ++j)
 
  250             for (
unsigned int j=0; j<6; ++j)
 
  258           libmesh_error_msg(
"Unknown permutation id: " << permutation_ids[p] << 
"!");
 
  266                            const unsigned int n_pts)
 
  275   unsigned int offset=0;
 
  278   for (
unsigned int p=0; p<n_pts; ++p)
 
  282       libmesh_assert_not_equal_to ( rule_data[p][0], static_cast<Real>(0.0) );
 
  285       libmesh_assert_not_equal_to ( rule_data[p][3], static_cast<Real>(0.0) );
 
  291       unsigned int pointtype=1;
 
  293       if (rule_data[p][1] != static_cast<Real>(0.0))
 
  295           if (rule_data[p][2] != static_cast<Real>(0.0))
 
  306             libmesh_assert_less (offset + 0, 
_points.size());
 
  309             _points[offset  + 0] = 
Point(rule_data[p][0], rule_data[p][0]);
 
  312             _weights[offset + 0] = rule_data[p][3];
 
  321             libmesh_assert_less (offset + 2, 
_points.size());
 
  325             _points[offset + 0] = 
Point(rule_data[p][0], rule_data[p][1]);
 
  326             _points[offset + 1] = 
Point(rule_data[p][1], rule_data[p][0]);
 
  327             _points[offset + 2] = 
Point(rule_data[p][1], rule_data[p][1]);
 
  329             for (
unsigned int j=0; j<3; ++j)
 
  330               _weights[offset + j] = rule_data[p][3];
 
  339             libmesh_assert_less (offset + 5, 
_points.size());
 
  342             _points[offset + 0] = 
Point(rule_data[p][0], rule_data[p][1]);
 
  343             _points[offset + 1] = 
Point(rule_data[p][0], rule_data[p][2]);
 
  344             _points[offset + 2] = 
Point(rule_data[p][1], rule_data[p][0]);
 
  345             _points[offset + 3] = 
Point(rule_data[p][1], rule_data[p][2]);
 
  346             _points[offset + 4] = 
Point(rule_data[p][2], rule_data[p][0]);
 
  347             _points[offset + 5] = 
Point(rule_data[p][2], rule_data[p][1]);
 
  349             for (
unsigned int j=0; j<6; ++j)
 
  350               _weights[offset + j] = rule_data[p][3];
 
  357           libmesh_error_msg(
"Don't know what to do with this many permutation points!");