28  inline double f5(
const double x0,
 
   34    return TMath::Gaus(x4, x0+x1+x2+x3, 1.0, kTRUE);
 
   45int main(
int argc, 
char **argv)
 
   57    JParser<> zap(
"Example program to create 1D function interpolator from multi-dimensional interpolator.");
 
   66  catch(
const exception &error) {
 
   67    FATAL(error.what() << endl);
 
   70  ASSERT(numberOfEvents > 0);
 
   72  const double xmin = -1.0;
 
   73  const double xmax = +1.0;
 
   77  typedef JFunction1D_t::abscissa_type                                     abscissa_type;
 
   78  typedef JFunction1D_t::value_type                                        value_type;
 
   90  for (
double x0 = xmin; x0 < xmax + 0.5*dx; x0 += dx) {
 
   91    for (
double x1 = xmin; x1 < xmax + 0.5*dx; x1 += dx) {
 
   92      for (
double x2 = xmin; x2 < xmax + 0.5*dx; x2 += dx) {
 
   93        for (
double x3 = xmin; x3 < xmax + 0.5*dx; x3 += dx) {
 
   94          for (
double x4 = xmin; x4 < xmax + 0.5*dx; x4 += dx) {
 
   95            g5[x0][x1][x2][x3][x4] = 
f5(x0,x1,x2,x3,x4);
 
   96            h5[x0][x1][x2][x3][x4] = 
f5(x0,x1,x2,x3,x4);
 
  107  const double x0 = +0.15;
 
  108  const double x1 = -0.25;
 
  109  const double x2 =  0.25;
 
  110  const double x3 = -0.15;
 
  114  JTimer timer(
"4D interpolator");
 
  118  for (
int i = 0; i != 100; ++i) {
 
  119    copy(h5(x0,x1,x2,x3), 
g1);      
 
  127  JTimer t1(
"1D interpolator");
 
  128  JTimer t5(
"5D interpolator");
 
  142  for (
int i = 0; i != numberOfEvents; ++i) {
 
  144    for (
int __i = 0; __i != N; ++__i) {
 
  146      const double x4 = gRandom->Uniform(xmin, xmax);
 
  149      y[__i] = 
f5(x0,x1,x2,x3,x4);
 
  154    for (
int __i = 0; __i != N; ++__i) {
 
  162    for (
int __i = 0; __i != N; ++__i) {
 
  163      w[__i] = g5(x0,x1,x2,x3,x[__i]);
 
  168    for (
int __i = 0; __i != N; ++__i) {
 
  169      Q1.
put(v[__i] - y[__i]);
 
  170      Q5.
put(w[__i] - y[__i]);
 
  177    Q5.
print(cout, 
false);
 
  179    t1.
print(cout, 1.0 / (N * numberOfEvents), 
nano_t);
 
  180    t5.
print(cout, 1.0 / (N * numberOfEvents), 
nano_t);
 
 
Various implementations of functional maps.
 
General purpose messaging.
 
#define ASSERT(A,...)
Assert macro.
 
int main(int argc, char **argv)
 
Utility class to parse command line options.
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
 
double f5(const double x0, const double x1, const double x2, const double x3, const double x4)
5D function.
 
Double_t g1(const Double_t x)
Function.
 
int numberOfBins
number of bins for average CDF integral of optical module
 
Auxiliary class for CPU timing and usage.
 
void print(std::ostream &out, const JScale_t scale=milli_t) const
Print timer data.
 
Utility class to parse command line options.
 
void copy(const Head &from, JHead &to)
Copy header from from to to.
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).