NAMD
Public Member Functions | List of all members
Pairlists Class Reference

#include <ComputeNonbondedUtil.h>

Public Member Functions

 Pairlists ()
 
 ~Pairlists ()
 
plintnewlist (int max_size)
 
plintnewlist ()
 
void newsize (int list_size)
 
void reset ()
 
void nextlist (plint **list, int *list_size)
 
int getSize ()
 
void addIndex ()
 
void setIndexValue (plint i)
 
plint getIndexValue ()
 

Detailed Description

Definition at line 30 of file ComputeNonbondedUtil.h.

Constructor & Destructor Documentation

◆ Pairlists()

Pairlists::Pairlists ( )
inline

Definition at line 38 of file ComputeNonbondedUtil.h.

38 : size(initsize) { data = new plint[initsize]; }
unsigned short plint

◆ ~Pairlists()

Pairlists::~Pairlists ( )
inline

Definition at line 39 of file ComputeNonbondedUtil.h.

39 { delete [] data; }

Member Function Documentation

◆ addIndex()

void Pairlists::addIndex ( )
inline

Definition at line 70 of file ComputeNonbondedUtil.h.

70  { // assume space for index already allocated
71  curpos++;
72  }

◆ getIndexValue()

plint Pairlists::getIndexValue ( )
inline

Definition at line 77 of file ComputeNonbondedUtil.h.

77  {
78  return data[curpos++];
79  }

◆ getSize()

int Pairlists::getSize ( )
inline

Definition at line 68 of file ComputeNonbondedUtil.h.

68 { return size; }

◆ newlist() [1/2]

plint* Pairlists::newlist ( int  max_size)
inline

Definition at line 40 of file ComputeNonbondedUtil.h.

References newsize().

Referenced by ComputeLCPO::doForce().

40  { // get a new list w/ room for max_size
41  int reqnewsize = curpos + max_size + 1;
42  int newsize = size;
43  while ( newsize < reqnewsize ) { newsize += newsize >> 1; }
44  if ( newsize > size ) {
45  plint *newdata = new plint[newsize];
46  CmiMemcpy(newdata,data,curpos*sizeof(plint));
47  delete [] data;
48  data = newdata;
49  size = newsize;
50  }
51  return &data[curpos+1];
52  }
unsigned short plint
void newsize(int list_size)

◆ newlist() [2/2]

plint* Pairlists::newlist ( )
inline

Definition at line 55 of file ComputeNonbondedUtil.h.

55  { // get a new list assuming already allocated
56  return &data[curpos+1];
57  }

◆ newsize()

void Pairlists::newsize ( int  list_size)
inline

Definition at line 59 of file ComputeNonbondedUtil.h.

Referenced by ComputeLCPO::doForce(), newlist(), and pairlistFromAll().

59  { // set the size of the last list gotten
60  data[curpos] = list_size;
61  curpos += list_size + 1;
62  }

◆ nextlist()

void Pairlists::nextlist ( plint **  list,
int *  list_size 
)
inline

Definition at line 64 of file ComputeNonbondedUtil.h.

Referenced by ComputeNonbondedUtil::calcGBIS(), and ComputeLCPO::doForce().

64  { // get next list and size
65  *list = &data[curpos+1];
66  curpos += ( *list_size = data[curpos] ) + 1;
67  }

◆ reset()

void Pairlists::reset ( )
inline

Definition at line 63 of file ComputeNonbondedUtil.h.

Referenced by ComputeNonbondedUtil::calcGBIS(), ComputeLCPO::doForce(), and pairlistFromAll().

63 { curpos = 0; } // go back to the beginning

◆ setIndexValue()

void Pairlists::setIndexValue ( plint  i)
inline

Definition at line 73 of file ComputeNonbondedUtil.h.

73  { // assume no newsize since addIndex
74  data[curpos-1] = i;
75  }

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