PaCO++  0.05
paco_comSchedule_direct Class Reference

#include <paco_direct_comScheduling.h>

Inheritance diagram for paco_comSchedule_direct:
Inheritance graph
Collaboration diagram for paco_comSchedule_direct:
Collaboration graph

Public Member Functions

unsigned int getDst (const unsigned phase, const unsigned id)
 
unsigned int getElementPhase (const unsigned phase)
 
void * getInfo (const unsigned phase, const unsigned id)
 
unsigned int getNbPhases ()
 
unsigned int getSize (const unsigned phase, const unsigned id)
 
unsigned int getSrc (const unsigned phase, const unsigned id)
 
 paco_comSchedule_direct (int rank, int max, unsigned *loca_com_vector, void **info_vector[])
 
virtual ~paco_comSchedule_direct ()
 

Protected Attributes

unsigned * _dst
 
void ** _inf
 
unsigned * _len
 
unsigned _myrank
 
unsigned _nbelement
 

Detailed Description

Definition at line 6 of file paco_direct_comScheduling.h.

Constructor & Destructor Documentation

◆ paco_comSchedule_direct()

paco_comSchedule_direct::paco_comSchedule_direct ( int  rank,
int  max,
unsigned *  loca_com_vector,
void **  info_vector[] 
)

Definition at line 5 of file paco_direct_comScheduling.cc.

References _dst, _inf, _len, _myrank, and _nbelement.

Referenced by paco_comScheduling_direct::computeScheduling().

7 {
8  _myrank=rank;
9  _dst=new unsigned[max];
10  _len=new unsigned[max];
11  _inf=new void*[max];
12  unsigned cur=0;
13  for(int i=0;i<max; i++) {
14  if (local_com_vector[i]>0) {
15  _dst[cur]=i;
16  _len[cur]=local_com_vector[i];
17  _inf[cur]=info_vector[i];
18  cur++;
19  }
20  }
21  _nbelement=cur;
22 }

◆ ~paco_comSchedule_direct()

paco_comSchedule_direct::~paco_comSchedule_direct ( )
virtual

Definition at line 24 of file paco_direct_comScheduling.cc.

References _dst, _inf, and _len.

25 {
26  delete _len;
27  delete _dst;
28  delete _inf;
29 }

Member Function Documentation

◆ getDst()

unsigned int paco_comSchedule_direct::getDst ( const unsigned  phase,
const unsigned  id 
)
inlinevirtual

Implements paco_comSchedule.

Definition at line 22 of file paco_direct_comScheduling.h.

22 { return _dst[id]; }

◆ getElementPhase()

unsigned int paco_comSchedule_direct::getElementPhase ( const unsigned  phase)
inlinevirtual

Implements paco_comSchedule.

Definition at line 20 of file paco_direct_comScheduling.h.

References _nbelement.

◆ getInfo()

void* paco_comSchedule_direct::getInfo ( const unsigned  phase,
const unsigned  id 
)
inlinevirtual

Implements paco_comSchedule.

Definition at line 24 of file paco_direct_comScheduling.h.

24 { return _inf[id]; }

◆ getNbPhases()

unsigned int paco_comSchedule_direct::getNbPhases ( )
inlinevirtual

Implements paco_comSchedule.

Definition at line 19 of file paco_direct_comScheduling.h.

19 { return 1; }

◆ getSize()

unsigned int paco_comSchedule_direct::getSize ( const unsigned  phase,
const unsigned  id 
)
inlinevirtual

Implements paco_comSchedule.

Definition at line 23 of file paco_direct_comScheduling.h.

23 { return _len[id]; }

◆ getSrc()

unsigned int paco_comSchedule_direct::getSrc ( const unsigned  phase,
const unsigned  id 
)
inlinevirtual

Implements paco_comSchedule.

Definition at line 21 of file paco_direct_comScheduling.h.

References _myrank.

21 { return _myrank; }

Member Data Documentation

◆ _dst

unsigned* paco_comSchedule_direct::_dst
protected

◆ _inf

void* * paco_comSchedule_direct::_inf
protected

◆ _len

unsigned* paco_comSchedule_direct::_len
protected

◆ _myrank

unsigned paco_comSchedule_direct::_myrank
protected

Definition at line 9 of file paco_direct_comScheduling.h.

Referenced by getSrc(), and paco_comSchedule_direct().

◆ _nbelement

unsigned paco_comSchedule_direct::_nbelement
protected

Definition at line 10 of file paco_direct_comScheduling.h.

Referenced by getElementPhase(), and paco_comSchedule_direct().


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