OSDN Git Service

update
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.old-deja / g++.robertl / eb120.C
1 template<double functionToIntegrate(double)>
2 double integrate(double a, double b, int numSamplePoints)
3 {
4   //    PRECONDITION(numSamplePoints > 1);
5     double delta = (b-a) / (numSamplePoints-1);
6     double sum = 0.;
7     for (int i=0; i < numSamplePoints; ++i)
8         sum += functionToIntegrate(a + i*delta);
9     return sum * (b-a) / numSamplePoints;
10 }
11
12 inline double myFunction(double x)
13 {
14     return 1 / (1 + x);
15 }
16
17 // Example use
18 int main() {
19 double z = integrate<myFunction>(0.0, 1.0, 50);
20         return 0 ;
21 }
22