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 - íåçíà÷àùèé ïàðàìåòð
|
|
//grig
|
|
|
|
friend bool operator==(LoopBlock& x, LoopBlock& y);
|
|
friend int intersection(LoopBlock& x,LoopBlock&y);
|
|
};
|
|
|
|
|
|
#endif
|
|
|