42      result_type(
const double __f,
 
   58      operator double()
 const 
   95    inline result_type operator()(
const double x,
 
   99      return result_type(f (x) * f (y) * f (z),
 
  100                         fp(x) * f (y) * f (z),
 
  101                         f (x) * fp(y) * f (z),
 
  102                         f (x) * f (y) * fp(z));
 
  113    inline double f(
const double x)
 const 
  115      return __f1.getValue(x);
 
  125    inline double fp(
const double x)
 const 
  127      return __f1.getDerivative(x);
 
  142  template<
class JMultiFunction_t>
 
  143  int do_main(
int argc, 
char **argv, 
const char* title)
 
  154      JParser<> zap(
"Example program to test multi-dimensional interpolation with derivatives.");
 
  163    catch(
const exception &error) {
 
  164      FATAL(error.what() << endl);
 
  168    if (numberOfEvents <= 0) { 
FATAL(
"Number of events " << numberOfEvents << endl); }
 
  174    const JFunction3D 
f3(f1);
 
  176    const double xmin = -1.0;
 
  177    const double xmax = +1.0;
 
  183    for (
double x = xmin; 
x < 
xmax + 0.5*dx; 
x += dx) {
 
  184      for (
double y = xmin; 
y < 
xmax + 0.5*dx; 
y += dx) {
 
  185        for (
double z = xmin; z < 
xmax + 0.5*dx; z += dx) {
 
  186          g3[
x][
y][z] = 
f3(x,y,z);
 
  200    for (
int i = 0; i != numberOfEvents; ++i) {
 
  202      const double x  = gRandom->Uniform(xmin, xmax);
 
  203      const double y  = gRandom->Uniform(xmin, xmax);
 
  204      const double z  = gRandom->Uniform(xmin, xmax);
 
  206      const          JFunction3D     ::result_type u = 
f3(x,y,z);
 
  207      const typename JMultiFunction_t::result_type v = g3(x,y,z);
 
  209      f .put(u.f   -  v.f .f .f);
 
  210      fx.put(u.fx  -  v.fp.f .f);
 
  211      fy.put(u.fy  -  v.f .fp.f);
 
  212      fz.put(u.fz  -  v.f .f .fp);
 
  215    cout << endl << title << 
":" << endl;
 
  217    for (
const JQuantile* p : { &f, &fx, &fy, &fz }) {
 
  218      p->print(cout, p == &f);
 
  242    if (do_main<JMultiFunction_t>(argc, argv, 
"Polint") != 0) 
return 1;
 
  251    if (do_main<JMultiFunction_t>(argc, argv, 
"Spline") != 0) 
return 1;
 
 
Various implementations of functional maps.
 
General purpose messaging.
 
Utility class to parse command line options.
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
 
double f3(const double x, const double y, const double z)
3D function.
 
int main(int argc, char **argv)
 
int numberOfBins
number of bins for average CDF integral of optical module
 
Utility class to parse command line options.
 
const JPolynome f1(1.0, 2.0, 3.0)
Function.
 
const parameter_list< JPolynome< ID_t, 0 > > JPolynome< ID_t, 0 >::parameters & JPolynome
Set parameters.
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
 
Recursive template class for polynomial function.