45 lines
917 B
C
45 lines
917 B
C
|
|
#ifndef LoopBlockH
|
|||
|
|
#define LoopBlockH
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////
|
|||
|
|
//
|
|||
|
|
// LoopBlock.h: interface for the LoopBlock class.
|
|||
|
|
//
|
|||
|
|
//////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
#include <vector>
|
|||
|
|
|
|||
|
|
#include "LoopLS.h"
|
|||
|
|
#include "ParLoop.h"
|
|||
|
|
|
|||
|
|
class ParLoop;
|
|||
|
|
|
|||
|
|
class LoopBlock {
|
|||
|
|
public:
|
|||
|
|
std::vector<LoopLS> LSDim; // vector of LoopLS for every dimensions
|
|||
|
|
|
|||
|
|
long GetRank();
|
|||
|
|
bool empty();
|
|||
|
|
long GetBlockSize();
|
|||
|
|
|
|||
|
|
LoopBlock();
|
|||
|
|
LoopBlock(std::vector<LoopLS> arg)
|
|||
|
|
{
|
|||
|
|
LSDim.resize(0);
|
|||
|
|
for(int i=0;i<arg.size();i++)
|
|||
|
|
LSDim.push_back(arg[i]);
|
|||
|
|
}
|
|||
|
|
virtual ~LoopBlock();
|
|||
|
|
LoopBlock(ParLoop *pl, long ProcLI);
|
|||
|
|
//grig
|
|||
|
|
LoopBlock(ParLoop *pl, long ProcLI,int a); // a - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
//grig
|
|||
|
|
|
|||
|
|
friend bool operator==(LoopBlock& x, LoopBlock& y);
|
|||
|
|
friend int intersection(LoopBlock& x,LoopBlock&y);
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
|
|||
|
|
#endif
|
|||
|
|
|