22 inline double f5(
const double x0,
 
   28   static const double a = 1.0;
 
   29   static const double b = 1.0;
 
   30   static const double c = 1.0;
 
   33     x0 * (a + x0 * (b + c*x0))  *  
 
   34     x1 * (a + x1 * (b + c*x1))  *
 
   35     x2 * (a + x2 * (b + c*x2))  *
 
   36     x3 * (a + x3 * (b + c*x3))  *
 
   37     x4 * (a + x4 * (b + c*x4));
 
   46 int main(
int argc, 
char **argv)
 
   57     JParser<> zap(
"Example program to test multi-dimensional interpolation.");
 
   66   catch(
const exception &error) {
 
   67     FATAL(error.what() << endl);
 
   74   const double xmin = -1.0;
 
   75   const double xmax = +1.0;
 
   76   const double dx   = (xmax - xmin) / (numberOfBins - 1);
 
   79   typedef JGridPolint3Function1D_t                          JFunction1D_t;
 
   81   typedef JMAPLIST<JPolint3FunctionalGridMap,
 
   82     JPolint3FunctionalGridMap,
 
   83     JPolint3FunctionalGridMap,
 
   84     JPolint3FunctionalGridMap>::maplist      JMaplist_t;
 
   86   typedef JMultiFunction<JFunction1D_t, JMaplist_t>         JMultiFunction_t;
 
   92   for (
double x0 = xmin; x0 <= xmax + 0.5*dx; x0 += dx) {
 
   93     for (
double x1 = xmin; x1 <= xmax + 0.5*dx; x1 += dx) {
 
   94       for (
double x2 = xmin; x2 <= xmax + 0.5*dx; x2 += dx) {
 
   95         for (
double x3 = xmin; x3 <= xmax + 0.5*dx; x3 += dx) {
 
   96           for (
double x4 = xmin; x4 <= xmax + 0.5*dx; x4 += dx) {
 
   97             g5[x0][x1][x2][x3][x4] = 
f5(x0, x1, x2, x3, x4);
 
  105   g5.setExceptionHandler(
new JFunction1D_t::JDefaultResult(
JMATH::zero));
 
  108   ASSERT(numberOfEvents > 0);
 
  114   for (
int i = 0; i != numberOfEvents; ++i) {
 
  116     const double x0  = gRandom->Uniform(xmin, xmax);
 
  117     const double x1  = gRandom->Uniform(xmin, xmax);
 
  118     const double x2  = gRandom->Uniform(xmin, xmax);
 
  119     const double x3  = gRandom->Uniform(xmin, xmax);
 
  120     const double x4  = gRandom->Uniform(xmin, xmax);
 
  122     const double v   = 
f5(x0,x1,x2,x3,x4);
 
  126     const double w   = g5(x0,x1,x2,x3,x4);
 
  137     timer.print(cout, 1.0 / numberOfEvents);
 
  140   ASSERT(Q.getMean()  <= precision);
 
  141   ASSERT(Q.getSTDev() <= precision);
 
Utility class to parse command line options. 
 
static const JZero zero
Function object to assign zero value. 
 
Various implementations of functional maps. 
 
#define ASSERT(A)
Assert macro. 
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object 
 
General purpose messaging. 
 
Utility class to parse command line options. 
 
double f5(const double x0, const double x1, const double x2, const double x3, const double x4)
5D function. 
 
int main(int argc, char *argv[])