doc: Add serial to list of ci file reserved words
[charm.git] / src / ck-ldb / RefinerApprox.h
1 #ifndef _REFINERAPPROX_H_
2 #define _REFINERAPPROX_H_
3
4 #include "CentralLB.h"
5 #include "Refiner.h"
6
7 #ifndef INFTY
8 #define INFTY 999999
9 #endif
10
11 class processorInfo;
12
13 class RefinerApprox:public Refiner {
14 public:
15   RefinerApprox(double _overload): Refiner(_overload) { 
16     overLoad = _overload; computes=0; processors=0; 
17   };
18   ~RefinerApprox() {};
19   void Refine(int count, CentralLB::LDStats* stats, int* cur_p, int* new_p, int percentMoves=100);
20
21 protected:
22   void create(int count, CentralLB::LDStats* stats, int* cur_p);
23   void reinitAssignment();
24   virtual int refine(double opt);
25   void multirefine(int num_moves);
26   int getNumLargeComputes(double opt);
27   double getLargestCompute();
28   int computeA(processorInfo *p,double opt);
29   int computeB(processorInfo *p,double opt);
30   int numMoves();
31   void printStats(int newStats);
32   Set * removeBiggestSmallComputes(int num,processorInfo * p,double opt);
33   Set * removeBigComputes(int num,processorInfo * p,double opt);
34 };
35
36 #endif /* _REFINERAPPROX_H_ */
37
38
39 /*@}*/