Public Member Functions | Private Member Functions | Private Attributes

unifexp::Coordinator Class Reference

An object of this class coordinates a series of computations for the Uniform Expansion program. More...

#include </cur/unifexp/coord.h>

List of all members.

Public Member Functions

 Coordinator (int _controlNumber, const char *_filename, bool _flushfile, double _paramMin, double _paramMax, bool _intervals, double _deltaMin, double _deltaMax, double _resolution, double _lambdaMin, double _lambdaMax, const char *_mapName, const char *_partName, int _partCountMin, int _partCountMax, int _startLevel, int _finalLevel, int _computeDelta, int _computeDelta0, int _computeLambda, int _computeC, int _computeLambda0, int _rigorous, int _sparseGraph)
 The complete constructor of a coordinator.
 ~Coordinator ()
 The destructor of the coordinator.

Private Member Functions

int Prepare (chomp::multiwork::mwData &data)
 A function for preparing data by a coordinator.
int Accept (chomp::multiwork::mwData &data)
 A function for accepting results by a coordinator.
int Reject (chomp::multiwork::mwData &data)
 A function for taking rejected data by a coordinator.
bool readResults (const char *filename)
 Reads the previously computed results from the input file.
void openResults (const char *filename, bool newFile)
 Opens a file with the results for appending or creates the file.
int numberOfItems (int level) const
 Computes the number of items at the given level.
void updateProcessed (int level)
 Updates the processet bit vectors to the current level.

Private Attributes

int controlNumber
 The control number to recognize compatible workers.
std::ofstream f
 A file to append the results to.
bool flushfile
 Should the results file be flushed after every write?
double paramMin
 The minimal value of the parameter 'a' to investigate.
double paramMax
 The maximal value of the parameter 'a' to investigate.
bool intervals
 Should the entire intervals of parameters be processed?
double deltaMin
 The minimal value of delta if fixed.
double deltaMax
 The maximal value of delta if fixed.
double resolution
 The resolution with which lambda must be found.
double lambdaMin
 The minimal value of lambda if requested.
double lambdaMax
 The maximal value of lambda if requested.
std::string mapName
 The map type name.
std::string partName
 The partition type name.
int partCountMin
 The minimal size of the partition.
int partCountMax
 The maximal size of the partition.
int currentLevel
 The currently processed level.
int currentItem
 The current element at the given level.
int startLevel
 The starting subdivision level.
int finalLevel
 The final subdivision level.
bool singleItem
 Is there just one single parameter combination to be processed?
int computeDelta
 Should delta be computed?
int computeDelta0
 Should delta0 be computed? (with paths in consideration)
int computeLambda
 Should lambda be computed?
int computeC
 Should C be computed?
int computeLambda0
 Should lambda0 be computed?
int rigorous
 Should the computations be rigorous?
int sparseGraph
 Should a sparse graph algorithm be used? [0=no, 1=yes, -1=auto].
std::vector< bitVector * > processed
 The bit fields for each level.
int loprec
 The low precision for writing real numbers to files.
int hiprec
 The high precision for writing real numbers to files.

Detailed Description

An object of this class coordinates a series of computations for the Uniform Expansion program.

This class inherits from the mwCoordinator class to allow network distribution of the work.

Definition at line 58 of file coord.h.


Constructor & Destructor Documentation

unifexp::Coordinator::Coordinator ( int  _controlNumber,
const char *  _filename,
bool  _flushfile,
double  _paramMin,
double  _paramMax,
bool  _intervals,
double  _deltaMin,
double  _deltaMax,
double  _resolution,
double  _lambdaMin,
double  _lambdaMax,
const char *  _mapName,
const char *  _partName,
int  _partCountMin,
int  _partCountMax,
int  _startLevel,
int  _finalLevel,
int  _computeDelta,
int  _computeDelta0,
int  _computeLambda,
int  _computeC,
int  _computeLambda0,
int  _rigorous,
int  _sparseGraph 
) [inline]

The complete constructor of a coordinator.

Definition at line 265 of file coord.h.

unifexp::Coordinator::~Coordinator (  ) [inline]

The destructor of the coordinator.

Definition at line 330 of file coord.h.


Member Function Documentation

int unifexp::Coordinator::Accept ( chomp::multiwork::mwData &  data ) [inline, private]

A function for accepting results by a coordinator.

Definition at line 453 of file coord.h.

int unifexp::Coordinator::numberOfItems ( int  level ) const [inline, private]

Computes the number of items at the given level.

Definition at line 344 of file coord.h.

Referenced by readResults().

void unifexp::Coordinator::openResults ( const char *  filename,
bool  newFile 
) [inline, private]

Opens a file with the results for appending or creates the file.

If this is a new file then some introductory info is written.

Definition at line 241 of file coord.h.

int unifexp::Coordinator::Prepare ( chomp::multiwork::mwData &  data ) [inline, private]

A function for preparing data by a coordinator.

Definition at line 364 of file coord.h.

bool unifexp::Coordinator::readResults ( const char *  filename ) [inline, private]

Reads the previously computed results from the input file.

Returns true if successful, false if no results file exists.

Definition at line 198 of file coord.h.

References numberOfItems(), processed, and updateProcessed().

int unifexp::Coordinator::Reject ( chomp::multiwork::mwData &  data ) [inline, private]

A function for taking rejected data by a coordinator.

Definition at line 508 of file coord.h.

void unifexp::Coordinator::updateProcessed ( int  level ) [inline, private]

Updates the processet bit vectors to the current level.

Definition at line 354 of file coord.h.

Referenced by readResults().


Member Data Documentation

Should C be computed?

Definition at line 157 of file coord.h.

Should delta be computed?

Definition at line 148 of file coord.h.

Should delta0 be computed? (with paths in consideration)

Definition at line 151 of file coord.h.

Should lambda be computed?

Definition at line 154 of file coord.h.

Should lambda0 be computed?

Definition at line 160 of file coord.h.

The control number to recognize compatible workers.

Definition at line 78 of file coord.h.

The current element at the given level.

Definition at line 136 of file coord.h.

The currently processed level.

Definition at line 133 of file coord.h.

The maximal value of delta if fixed.

Definition at line 99 of file coord.h.

The minimal value of delta if fixed.

Definition at line 96 of file coord.h.

std::ofstream unifexp::Coordinator::f [private]

A file to append the results to.

Definition at line 81 of file coord.h.

The final subdivision level.

Definition at line 142 of file coord.h.

Should the results file be flushed after every write?

Definition at line 84 of file coord.h.

The high precision for writing real numbers to files.

Definition at line 175 of file coord.h.

Should the entire intervals of parameters be processed?

Definition at line 93 of file coord.h.

The maximal value of lambda if requested.

Definition at line 108 of file coord.h.

The minimal value of lambda if requested.

Definition at line 105 of file coord.h.

The low precision for writing real numbers to files.

Definition at line 172 of file coord.h.

std::string unifexp::Coordinator::mapName [private]

The map type name.

Definition at line 111 of file coord.h.

The maximal value of the parameter 'a' to investigate.

Definition at line 90 of file coord.h.

The minimal value of the parameter 'a' to investigate.

Definition at line 87 of file coord.h.

The maximal size of the partition.

Definition at line 120 of file coord.h.

The minimal size of the partition.

Definition at line 117 of file coord.h.

std::string unifexp::Coordinator::partName [private]

The partition type name.

Definition at line 114 of file coord.h.

std::vector<bitVector *> unifexp::Coordinator::processed [private]

The bit fields for each level.

Definition at line 169 of file coord.h.

Referenced by readResults().

The resolution with which lambda must be found.

Definition at line 102 of file coord.h.

Should the computations be rigorous?

Definition at line 163 of file coord.h.

Is there just one single parameter combination to be processed?

Definition at line 145 of file coord.h.

Should a sparse graph algorithm be used? [0=no, 1=yes, -1=auto].

Definition at line 166 of file coord.h.

The starting subdivision level.

Definition at line 139 of file coord.h.


The documentation for this class was generated from the following file: