Removing memory leak in kNeighbor benchmark
[charm.git] / examples / charm++ / integrate2 / pgm.h
1 #include "charm++.h"
2
3 /* This class is passed as a parameter, so it has to be 
4   declared *before* the .decl header! */
5
6 /** 
7  * Abstract 1d real function class.
8  * You inherit from this class to use the numerical integral
9  * class below.
10  */
11 class function1d : public PUP::able {
12 public:
13         virtual double evaluate(double x) =0;
14         
15         PUPable_abstract(function1d);
16 };
17
18 #include "pgm.decl.h"
19
20 class main : public Chare
21 {
22 private:
23   int count; //Number of partial results that have not arrived yet
24   double integral; //Partial value of function integral
25 public:
26   main(CkMigrateMessage *m) {}
27   main(CkArgMsg *m);
28   void results(double partialIntegral);
29 };
30
31 class integrate : public Chare 
32 {
33 private:
34
35 public:
36   integrate(CkMigrateMessage *m) {}
37   integrate(double xStart,double dx, int nSlices, function1d &f);
38 };