NAMD
Public Member Functions | Protected Attributes | List of all members
msm::IndexRange Class Reference

#include <MsmMap.h>

Inheritance diagram for msm::IndexRange:
msm::Grid< C1Matrix > msm::Grid< C1Vector > msm::Grid< Float > msm::Grid< msm::BlockDiagram > msm::Grid< Mtype > msm::Grid< Vtype > msm::Grid< T > msm::GridFixed< T, N >

Public Member Functions

 IndexRange ()
 
void set (int pia, int pni, int pja, int pnj, int pka, int pnk)
 
void setbounds (int pia, int pib, int pja, int pjb, int pka, int pkb)
 
int ia () const
 
int ib () const
 
int ja () const
 
int jb () const
 
int ka () const
 
int kb () const
 
int ni () const
 
int nj () const
 
int nk () const
 
int nn () const
 
Ivec lower () const
 
Ivec extent () const
 
int operator<= (const IndexRange &n)
 

Protected Attributes

Ivec nlower
 
Ivec nextent
 

Detailed Description

Definition at line 423 of file MsmMap.h.

Constructor & Destructor Documentation

◆ IndexRange()

msm::IndexRange::IndexRange ( )
inline

Member Function Documentation

◆ extent()

Ivec msm::IndexRange::extent ( ) const
inline

◆ ia()

int msm::IndexRange::ia ( ) const
inline

◆ ib()

int msm::IndexRange::ib ( ) const
inline

◆ ja()

int msm::IndexRange::ja ( ) const
inline

◆ jb()

int msm::IndexRange::jb ( ) const
inline

◆ ka()

int msm::IndexRange::ka ( ) const
inline

◆ kb()

int msm::IndexRange::kb ( ) const
inline

◆ lower()

Ivec msm::IndexRange::lower ( ) const
inline

◆ ni()

int msm::IndexRange::ni ( ) const
inline

◆ nj()

int msm::IndexRange::nj ( ) const
inline

◆ nk()

int msm::IndexRange::nk ( ) const
inline

◆ nn()

int msm::IndexRange::nn ( ) const
inline

◆ operator<=()

int msm::IndexRange::operator<= ( const IndexRange n)
inline

Definition at line 446 of file MsmMap.h.

References ia(), ib(), ja(), jb(), ka(), and kb().

446  {
447  // true if this IndexRange fits inside n
448  return ( ia() >= n.ia() && ib() <= n.ib() &&
449  ja() >= n.ja() && jb() <= n.jb() &&
450  ka() >= n.ka() && kb() <= n.kb() );
451  }
int ja() const
Definition: MsmMap.h:436
int kb() const
Definition: MsmMap.h:439
int ib() const
Definition: MsmMap.h:435
int ka() const
Definition: MsmMap.h:438
int ia() const
Definition: MsmMap.h:434
int jb() const
Definition: MsmMap.h:437

◆ set()

void msm::IndexRange::set ( int  pia,
int  pni,
int  pja,
int  pnj,
int  pka,
int  pnk 
)
inline

Definition at line 426 of file MsmMap.h.

References ASSERT, nextent, and nlower.

Referenced by msm::Map::indexRangeOfBlockFold(), msm::GridFixed< T, N >::set(), and msm::Grid< Vtype >::set().

426  {
427  ASSERT(pni >= 0 && pnj >= 0 && pnk >= 0);
428  nlower = Ivec(pia, pja, pka);
429  nextent = Ivec(pni, pnj, pnk);
430  }
#define ASSERT(expr)
Definition: MsmMap.h:68
Ivec nextent
Definition: MsmMap.h:459

◆ setbounds()

void msm::IndexRange::setbounds ( int  pia,
int  pib,
int  pja,
int  pjb,
int  pka,
int  pkb 
)
inline

Definition at line 431 of file MsmMap.h.

Referenced by msm::Map::clipBlockToIndexRange(), msm::Map::clipBlockToIndexRangeFold(), msm::GridFixed< T, N >::setbounds(), msm::Grid< Vtype >::setbounds(), msm::Map::wrapBlockSend(), and msm::Map::wrapBlockSendFold().

431  {
432  set(pia, pib-pia+1, pja, pjb-pja+1, pka, pkb-pka+1);
433  }

Member Data Documentation

◆ nextent

Ivec msm::IndexRange::nextent
protected

◆ nlower

Ivec msm::IndexRange::nlower
protected

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