PPL Logo

IDXL_List Class Reference

IDXL_List lists the entities we share with one other chunk. More...

#include <idxl_comm.h>

Collaboration diagram for IDXL_List:

Collaboration graph
[legend]

Public Member Functions

 IDXL_List ()
 IDXL_List (int otherchunk)
 ~IDXL_List ()
int getDest (void) const
int size (void) const
intoperator[] (int idx)
int operator[] (int idx) const
const intgetVec (void) const
bool lockIdxl ()
void unlockIdxl ()
bool isLocked ()
int push_back (int localIdx)
 We share this local index with this other chunk.
bool set (int localIdx, int sharedIdx)
bool unset (int sharedIdx)
int exists (int localIdx)
int get (int sharedIdx)
void pup (PUP::er &p)
void sort2d (double *coord)
void sort3d (double *coord)

Private Attributes

int chunk
CkVec< intshared
bool lock

Detailed Description

IDXL_List lists the entities we share with one other chunk.

This list is used to build outgoing and interpret incoming messages-- for an outgoing message, the listed entities are copied into the message; for an incoming message, the listed entities are copied out of the message.

Definition at line 82 of file idxl_comm.h.


Constructor & Destructor Documentation

IDXL_List::IDXL_List (  ) 

Definition at line 68 of file idxl_comm.C.

References lock.

IDXL_List::IDXL_List ( int  otherchunk  ) 

Definition at line 73 of file idxl_comm.C.

References lock.

IDXL_List::~IDXL_List (  ) 

Definition at line 78 of file idxl_comm.C.


Member Function Documentation

int IDXL_List::getDest ( void   )  const [inline]

int IDXL_List::size ( void   )  const [inline]

int& IDXL_List::operator[] ( int  idx  )  [inline]

Definition at line 92 of file idxl_comm.h.

References shared.

int IDXL_List::operator[] ( int  idx  )  const [inline]

Definition at line 93 of file idxl_comm.h.

References shared.

const int* IDXL_List::getVec ( void   )  const [inline]

Definition at line 94 of file idxl_comm.h.

References shared.

Referenced by IDXL_Comm::post(), and IDXL_Comm::wait().

Here is the caller graph for this function:

bool IDXL_List::lockIdxl (  ) 

Definition at line 80 of file idxl_comm.C.

References lock.

Referenced by ParFUMShadowArray::lockSharedIdxls().

Here is the caller graph for this function:

void IDXL_List::unlockIdxl (  ) 

Definition at line 88 of file idxl_comm.C.

References lock.

Referenced by ParFUMShadowArray::lockSharedIdxls(), and ParFUMShadowArray::unlockSharedIdxls().

Here is the caller graph for this function:

bool IDXL_List::isLocked (  ) 

Definition at line 92 of file idxl_comm.C.

References lock.

Referenced by ParFUMShadowArray::lockSharedIdxls(), and ParFUMShadowArray::unlockSharedIdxls().

Here is the caller graph for this function:

int IDXL_List::push_back ( int  localIdx  ) 

We share this local index with this other chunk.

Definition at line 96 of file idxl_comm.C.

References CkVec< T >::push_back(), shared, and CkVec< T >::size().

Referenced by IDXL_Side::add(), addIDXLists(), IDXL_Side::addNode(), BulkAdapt::make_node_shared(), makeGhost(), and ParFUM_recreateSharedNodes().

Here is the call graph for this function:

Here is the caller graph for this function:

bool IDXL_List::set ( int  localIdx,
int  sharedIdx 
)

Definition at line 102 of file idxl_comm.C.

References CkVec< T >::push_back(), shared, CkVec< T >::size(), and size().

Referenced by IDXL_Side::setNode().

Here is the call graph for this function:

Here is the caller graph for this function:

bool IDXL_List::unset ( int  sharedIdx  ) 

Definition at line 117 of file idxl_comm.C.

References shared, CkVec< T >::size(), and size().

Referenced by IDXL_Side::unsetNode().

Here is the call graph for this function:

Here is the caller graph for this function:

int IDXL_List::exists ( int  localIdx  ) 

Definition at line 124 of file idxl_comm.C.

References shared, and CkVec< T >::size().

Referenced by IDXL_Side::existsNode().

Here is the call graph for this function:

Here is the caller graph for this function:

int IDXL_List::get ( int  sharedIdx  ) 

Definition at line 131 of file idxl_comm.C.

References shared, CkVec< T >::size(), and size().

Referenced by IDXL_Side::getNode().

Here is the call graph for this function:

Here is the caller graph for this function:

void IDXL_List::pup ( PUP::er p  ) 

Definition at line 137 of file idxl_comm.C.

References shared.

void IDXL_List::sort2d ( double *  coord  ) 

if the 2 points are equidistant from the origin, sort by x

Definition at line 150 of file idxl_comm.C.

References doubleeq(), shared, and CkVec< T >::size().

Referenced by IDXL_Side::sort2d().

Here is the call graph for this function:

Here is the caller graph for this function:

void IDXL_List::sort3d ( double *  coord  ) 

if the 2 points are equidistant from the origin, sort by x and then by y

Definition at line 188 of file idxl_comm.C.

References doubleeq(), shared, and CkVec< T >::size().

Referenced by IDXL_Side::sort3d().

Here is the call graph for this function:

Here is the caller graph for this function:


Field Documentation

int IDXL_List::chunk [private]

Definition at line 83 of file idxl_comm.h.

Definition at line 84 of file idxl_comm.h.

Referenced by exists(), get(), getVec(), operator[](), pup(), push_back(), set(), size(), sort2d(), sort3d(), and unset().

bool IDXL_List::lock [private]

Definition at line 85 of file idxl_comm.h.

Referenced by IDXL_List(), isLocked(), lockIdxl(), and unlockIdxl().


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

Generated on Mon Sep 21 08:25:53 2020 for Charm++ by  doxygen 1.5.5