Definition at line 48 of file DefiniteIntegral.cc.
◆ TrapezoidQuadratureRule()
Genfun::DefiniteIntegral::Clockwork::TrapezoidQuadratureRule::TrapezoidQuadratureRule |
( |
| ) |
|
|
inline |
◆ ~TrapezoidQuadratureRule()
Genfun::DefiniteIntegral::Clockwork::TrapezoidQuadratureRule::~TrapezoidQuadratureRule |
( |
| ) |
|
|
inline |
◆ integrate()
double Genfun::DefiniteIntegral::Clockwork::TrapezoidQuadratureRule::integrate |
( |
const AbsFunction & |
function, |
|
|
double |
a, |
|
|
double |
b, |
|
|
unsigned int |
j |
|
) |
| const |
|
virtual |
Implements Genfun::DefiniteIntegral::Clockwork::QuadratureRule.
Definition at line 224 of file DefiniteIntegral.cc.
224 {
225 unsigned int it, j;
226 if (n==1) {
227 retVal = 0.5*(bb-aa)*(function(aa)+function(bb));
228 nFunctionCalls+=2;
229 }
230 else {
231 for (it=1,j=1;j<
n-1;j++) it <<=1;
232 double tnm=it;
233 double del = (bb-aa)/tnm;
234 double x=aa+0.5*del;
235 double sum;
236 for (sum=0.0,j=1;j<=it;j++,x+=del) {
237 sum +=function(x);
238 nFunctionCalls++;
239 }
240 retVal = 0.5*(retVal+(bb-aa)*sum/tnm);
241 }
242 return retVal;
243 }
◆ numFunctionCalls()
virtual unsigned int Genfun::DefiniteIntegral::Clockwork::TrapezoidQuadratureRule::numFunctionCalls |
( |
| ) |
const |
|
inlinevirtual |
◆ stepMultiplier()
virtual unsigned int Genfun::DefiniteIntegral::Clockwork::TrapezoidQuadratureRule::stepMultiplier |
( |
| ) |
const |
|
inlinevirtual |
The documentation for this class was generated from the following file: