28 inline double f5(
const double x0,
34 return TMath::Gaus(x4, x0+x1+x2+x3, 1.0, kTRUE);
45 int main(
int argc,
char **argv)
57 JParser<> zap(
"Example program to create 2D 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;
97 for (
double x0 =
xmin; x0 <
xmax + 0.5*dx; x0 += dx) {
98 for (
double x1 =
xmin; x1 <
xmax + 0.5*dx; x1 += dx) {
99 for (
double x2 =
xmin; x2 <
xmax + 0.5*dx; x2 += dx) {
100 for (
double x3 =
xmin; x3 <
xmax + 0.5*dx; x3 += dx) {
101 for (
double x4 =
xmin; x4 <
xmax + 0.5*dx; x4 += dx) {
102 g5[x0][x1][x2][x3][x4] =
f5(x0,x1,x2,x3,x4);
103 h5[x0][x1][x2][x3][x4] =
f5(x0,x1,x2,x3,x4);
114 const double x0 = +0.15;
115 const double x1 = -0.25;
116 const double x2 = 0.25;
120 JTimer timer(
"3D interpolator");
124 for (
int i = 0;
i != 100; ++
i) {
125 copy(h5(x0,x1,x2), g2);
133 JTimer t2(
"2D interpolator");
134 JTimer t5(
"5D interpolator");
149 for (
int i = 0;
i != numberOfEvents; ++
i) {
151 for (
int __i = 0; __i !=
N; ++__i) {
153 const double x3 = gRandom->Uniform(
xmin,
xmax);
154 const double x4 = gRandom->Uniform(
xmin,
xmax);
158 z[__i] =
f5(x0,x1,x2,x3,x4);
163 for (
int __i = 0; __i !=
N; ++__i) {
164 v[__i] = g2(
x[__i],
y[__i]);
171 for (
int __i = 0; __i !=
N; ++__i) {
172 w[__i] = g5(x0,x1,x2,
x[__i],
y[__i]);
177 for (
int __i = 0; __i !=
N; ++__i) {
178 Q2.
put(
v[__i] - z[__i]);
179 Q5.
put(
w[__i] - z[__i]);
186 Q5.
print(cout,
false);
Utility class to parse command line options.
int main(int argc, char *argv[])
void print(std::ostream &out, const JScale_t scale=milli_t) const
Print timer data.
Various implementations of functional maps.
#define ASSERT(A,...)
Assert macro.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Auxiliary class for CPU timing and usage.
General purpose messaging.
then usage $script< input file >[option[primary[working directory]]] nWhere option can be N
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.
void copy(const Head &from, JHead &to)
Copy header from from to to.
int numberOfBins
number of bins for average CDF integral of optical module