51 #ifndef INTREPID_BURKARDTRULES_HPP 
   52 #define INTREPID_BURKARDTRULES_HPP 
   54 #include "Intrepid_ConfigDefs.hpp" 
   56 #include "Teuchos_Assert.hpp" 
   65   enum  EIntrepidBurkardt {
 
   78   inline std::string EIntrepidBurkardtToString(EIntrepidBurkardt rule) {
 
   79     std::string retString;
 
   81       case BURK_CHEBYSHEV1:       retString = 
"Gauss-Chebyshev Type 1";    
break;
 
   82       case BURK_CHEBYSHEV2:       retString = 
"Gauss-Chebyshev Type 2";    
break;
 
   83       case BURK_CLENSHAWCURTIS:   retString = 
"Clenshaw-Curtis";           
break;
 
   84       case BURK_FEJER2:           retString = 
"Fejer Type 2";              
break;
 
   85       case BURK_LEGENDRE:         retString = 
"Gauss-Legendre";            
break;
 
   86       case BURK_PATTERSON:        retString = 
"Gauss-Patterson";           
break;
 
   87       case BURK_TRAPEZOIDAL:      retString = 
"Trapezoidal Rule";          
break;
 
   88       case BURK_HERMITE:          retString = 
"Gauss-Hermite";             
break;
 
   89       case BURK_GENZKEISTER:      retString = 
"Hermite-Genz-Keister";      
break;
 
   90       case BURK_LAGUERRE:         retString = 
"Gauss-Laguerre";            
break;
 
   91       default:                    retString = 
"INVALID EIntrepidBurkardt";
 
   96   inline EIntrepidBurkardt & operator++(EIntrepidBurkardt &type) {
 
   97     return type = 
static_cast<EIntrepidBurkardt
>(type+1);
 
  100   inline EIntrepidBurkardt operator++(EIntrepidBurkardt &type, 
int) {
 
  101     EIntrepidBurkardt oldval = type;
 
  120     template<
class Scalar> 
 
  121     static void imtqlx ( 
int n, Scalar d[], Scalar e[], Scalar z[] );
 
  122     template<
class Scalar> 
static Scalar r8_epsilon( Scalar one );
 
  123     template<
class Scalar> 
static Scalar r8_sign( Scalar x );
 
  129     template<
class Scalar> 
 
  133     template<
class Scalar> 
 
  137     template<
class Scalar> 
 
  144     template<
class Scalar> 
 
  148     template<
class Scalar> 
 
  152     template<
class Scalar> 
 
  159     template<
class Scalar> 
 
  163     template<
class Scalar> 
 
  167     template<
class Scalar> 
 
  174     template<
class Scalar> 
 
  178     template<
class Scalar> 
 
  182     template<
class Scalar> 
 
  189     template<
class Scalar> 
 
  193     template<
class Scalar> 
 
  197     template<
class Scalar> 
 
  202     template<
class Scalar> 
 
  206     template<
class Scalar> 
 
  210     template<
class Scalar> 
 
  217     template<
class Scalar> 
 
  221     template<
class Scalar> 
 
  225     template<
class Scalar> 
 
  232     template<
class Scalar> 
 
  236     template<
class Scalar> 
 
  240     template<
class Scalar> 
 
  245     template<
class Scalar> 
 
  249     template<
class Scalar> 
 
  253     template<
class Scalar> 
 
  260     template<
class Scalar> 
 
  264     template<
class Scalar> 
 
  268     template<
class Scalar> 
 
  273     template<
class Scalar> 
 
  277     template<
class Scalar> 
 
  281     template<
class Scalar> 
 
  288     template<
class Scalar> 
 
  292     template<
class Scalar> 
 
  296     template<
class Scalar> 
 
  303     template<
class Scalar> 
 
  307     template<
class Scalar> 
 
  311     template<
class Scalar> 
 
static void chebyshev2_compute_weights(int order, Scalar w[])
Gauss-Chebyshev of Type 2; returns weights. 
static void patterson_lookup_weights(int n, Scalar w[])
Gauss-Patterson; returns weights. 
static void chebyshev1_compute(int order, Scalar x[], Scalar w[])
Gauss-Chebyshev of Type 1; returns points and weights. 
static void laguerre_lookup_weights(int n, Scalar w[])
Gauss-Laguerre; returns weights. 
static void chebyshev1_compute_weights(int order, Scalar w[])
Gauss-Chebyshev of Type 1; returns weights. 
static void hermite_genz_keister_lookup_weights(int n, Scalar w[])
Hermite-Genz-Keister; returns weights. 
static void clenshaw_curtis_compute_points(int order, Scalar x[])
Clenshaw-Curtis; returns points. 
static void legendre_compute_weights(int order, Scalar w[])
Gauss-Legendre; returns weights. 
static void hermite_lookup(int n, Scalar x[], Scalar w[])
Gauss-Hermite; returns points and weights. 
static void laguerre_compute_points(int order, Scalar x[])
Gauss-Laguerre; returns points. 
static void chebyshev2_compute_points(int order, Scalar x[])
Gauss-Chebyshev of Type 2; returns points. 
static void patterson_lookup_points(int n, Scalar x[])
Gauss-Patterson; returns points. 
Definition file for integration rules provided by John Burkardt. <> 
static void fejer2_compute_weights(int order, Scalar w[])
Fejer type 2; returns weights. 
Contains definitions of custom data types in Intrepid. 
static void hermite_genz_keister_lookup_points(int n, Scalar x[])
Hermite-Genz-Keister; returns points. 
static void trapezoidal_compute(int n, Scalar x[], Scalar w[])
Trapezoidal rule; returns points and weights. 
static void trapezoidal_compute_points(int order, Scalar x[])
Trapezoidal rule; returns points. 
static void trapezoidal_compute_weights(int order, Scalar w[])
Trapezoidal rule; returns weights. 
static void legendre_lookup_weights(int n, Scalar w[])
Gauss-Legendre; returns weights. 
static void legendre_lookup_points(int n, Scalar x[])
Gauss-Legendre; returns points. 
static void patterson_lookup(int n, Scalar x[], Scalar w[])
Gauss-Patterson; returns points and weights. 
static void hermite_compute_weights(int order, Scalar w[])
Gauss-Hermite; returns weights. 
static void fejer2_compute_points(int order, Scalar x[])
Fejer type 2; returns points. 
static void hermite_compute_points(int order, Scalar x[])
Gauss-Hermite; returns points. 
static void laguerre_compute(int n, Scalar x[], Scalar w[])
Gauss-Laguerre; returns points and weights. 
static void hermite_lookup_weights(int n, Scalar w[])
Gauss-Hermite; returns weights. 
Providing integration rules, created by John Burkardt, Scientific Computing, Florida State University...
static void legendre_compute_points(int order, Scalar x[])
Gauss-Legendre; returns points. 
static void clenshaw_curtis_compute_weights(int order, Scalar w[])
Clenshaw-Curtis; returns weights. 
static void hermite_compute(int order, Scalar x[], Scalar w[])
Gauss-Hermite; returns points and weights. 
static void chebyshev2_compute(int order, Scalar x[], Scalar w[])
Gauss-Chebyshev of Type 2; returns points and weights. 
static void chebyshev1_compute_points(int order, Scalar x[])
Gauss-Chebyshev of Type 1; returns points. 
static void legendre_lookup(int n, Scalar x[], Scalar w[])
Gauss-Legendre; returns points and weights. 
static void hermite_lookup_points(int n, Scalar x[])
Gauss-Hermite; returns points. 
static void laguerre_compute_weights(int order, Scalar w[])
Gauss-Laguerre; returns weights. 
static void laguerre_lookup(int n, Scalar x[], Scalar w[])
Gauss-Laguerre; returns points and weights. 
static void legendre_compute(int n, Scalar x[], Scalar w[])
Gauss-Legendre; returns points and weights. 
static void hermite_genz_keister_lookup(int n, Scalar x[], Scalar w[])
Hermite-Genz-Keister; returns points and weights. 
static void laguerre_lookup_points(int n, Scalar x[])
Gauss-Laguerre; returns points. 
static void clenshaw_curtis_compute(int order, Scalar x[], Scalar w[])
Clenshaw-Curtis; returns points and weights. 
static void fejer2_compute(int order, Scalar x[], Scalar w[])
Fejer type 2; returns points and weights.