MCPcopy Create free account
hub / github.com/NanoComp/meep / correct_integral

Function correct_integral

tests/integrate.cpp:81–98  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

79}
80
81static double correct_integral(const volume &v, const linear_integrand_data &data) {
82 direction x = data.dx, y = data.dy, z = data.dz;
83 double x1 = v.in_direction_min(x);
84 double x2 = v.in_direction_max(x);
85 double y1 = v.in_direction_min(y);
86 double y2 = v.in_direction_max(y);
87 double z1 = v.in_direction_min(z);
88 double z2 = v.in_direction_max(z);
89
90 return (data.c * integral1(x1, x2, x) * integral1(y1, y2, y) * integral1(z1, z2, z) +
91 data.ax * integralx(x1, x2, x) * integral1(y1, y2, y) * integral1(z1, z2, z) +
92 data.ay * integral1(x1, x2, x) * integralx(y1, y2, y) * integral1(z1, z2, z) +
93 data.az * integral1(x1, x2, x) * integral1(y1, y2, y) * integralx(z1, z2, z) +
94 data.axy * integralx(x1, x2, x) * integralx(y1, y2, y) * integral1(z1, z2, z) +
95 data.ayz * integral1(x1, x2, x) * integralx(y1, y2, y) * integralx(z1, z2, z) +
96 data.axz * integralx(x1, x2, x) * integral1(y1, y2, y) * integralx(z1, z2, z) +
97 data.axyz * integralx(x1, x2, x) * integralx(y1, y2, y) * integralx(z1, z2, z));
98}
99
100// uniform pseudo-random number in [min,max]
101static double urand(double min, double max) { return (rand() * ((max - min) / RAND_MAX) + min); }

Callers 1

check_integralFunction · 0.85

Calls 4

integral1Function · 0.85
integralxFunction · 0.85
in_direction_minMethod · 0.80
in_direction_maxMethod · 0.80

Tested by

no test coverage detected