OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
Index Class Reference

#include <Index.h>

Inheritance diagram for Index:
Collaboration diagram for Index:

Classes

class  iterator
class  cursor
class  DontInitialize

Public Types

typedef cursor PETE_Expr_t
typedef Index Wrapped

Public Member Functions

 Index ()
 Index (unsigned n)
 Index (int f, int l)
 Index (int f, int l, int s)
 ~Index ()
int id () const
int min () const
int max () const
unsigned int length () const
int stride () const
int first () const
int last () const
bool empty () const
int getBase () const
Index intersect (const Index &) const
Index plugBase (const Index &) const
bool sameBase (const Index &) const
bool touches (const Index &a) const
bool contains (const Index &a) const
bool containsAllPoints (const Index &b) const
bool split (Index &l, Index &r) const
bool split (Index &l, Index &r, double a) const
iterator begin ()
iterator end ()
bool operator< (const Index &r) const
bool operator== (const Index &r) const
MessageputMessage (Message &m) const
MessagegetMessage (Message &m)
cursor MakeExpression () const
IndexPETE_unwrap ()

Static Public Member Functions

static void findPut (const Index &, const Index &, const Index &, Index &, Index &)

Private Member Functions

Index reverse () const
 Index (int m, int a, const Index &b)
 Index (int f, int s, const Index *b)
Index general_intersect (const Index &) const
 Index (DontInitialize)

Private Attributes

int First
int Stride
unsigned Length
unsigned BaseFirst
int Base

Friends

Index operator+ (const Index &i, int off)
Index operator+ (int off, const Index &i)
Index operator- (const Index &i, int off)
Index operator- (int off, const Index &i)
Index operator- (const Index &i)
Index operator* (const Index &i, int m)
Index operator* (int m, const Index &i)
Index operator/ (const Index &i, int d)

Detailed Description

Definition at line 236 of file Index.h.


Class Documentation

◆ Index::DontInitialize

class Index::DontInitialize

Definition at line 500 of file Index.h.

Collaboration diagram for Index::DontInitialize:

Member Typedef Documentation

◆ PETE_Expr_t

Definition at line 469 of file Index.h.

◆ Wrapped

typedef Index PETE_Expr< Index >::Wrapped
inherited

Definition at line 79 of file PETE.h.

Constructor & Destructor Documentation

◆ Index() [1/7]

◆ Index() [2/7]

Index::Index ( unsigned n)
inline

Definition at line 36 of file IndexInlines.h.

References Base, BaseFirst, First, Length, and Stride.

◆ Index() [3/7]

Index::Index ( int f,
int l )
inline

Definition at line 50 of file IndexInlines.h.

References Base, BaseFirst, First, Length, PAssert_GE, and Stride.

◆ Index() [4/7]

Index::Index ( int f,
int l,
int s )
inline

Definition at line 61 of file IndexInlines.h.

References Base, BaseFirst, First, Length, PAssert_NE, and Stride.

◆ ~Index()

Index::~Index ( )
inline

Definition at line 384 of file Index.h.

◆ Index() [5/7]

Index::Index ( int m,
int a,
const Index & b )
inlineprivate

Definition at line 84 of file IndexInlines.h.

References a, Base, BaseFirst, First, Index(), Length, and Stride.

Here is the call graph for this function:

◆ Index() [6/7]

Index::Index ( int f,
int s,
const Index * b )
inlineprivate

Definition at line 94 of file IndexInlines.h.

References Base, BaseFirst, First, Index(), Length, and Stride.

Here is the call graph for this function:

◆ Index() [7/7]

Index::Index ( DontInitialize )
inlineprivate

Definition at line 501 of file Index.h.

Member Function Documentation

◆ begin()

iterator Index::begin ( )
inline

Definition at line 429 of file Index.h.

References First, and Stride.

◆ contains()

bool Index::contains ( const Index & a) const
inline

Definition at line 248 of file IndexInlines.h.

References a, Index(), max(), and min().

Here is the call graph for this function:

◆ containsAllPoints()

bool Index::containsAllPoints ( const Index & b) const
inline

Definition at line 253 of file IndexInlines.h.

References Index(), max(), min(), and stride().

Here is the call graph for this function:

◆ empty()

bool Index::empty ( ) const
inline

Definition at line 126 of file IndexInlines.h.

References Length.

◆ end()

iterator Index::end ( )
inline

Definition at line 431 of file Index.h.

References First, Length, and Stride.

◆ findPut()

void Index::findPut ( const Index & ,
const Index & ,
const Index & ,
Index & ,
Index &  )
static

References Index().

Here is the call graph for this function:

◆ first()

◆ general_intersect()

Index Index::general_intersect ( const Index & that) const
private

Definition at line 173 of file Index.cpp.

References Base, BaseFirst, First, Index(), intersect(), max(), min(), PAssert_GE, reverse(), and Stride.

Referenced by intersect().

Here is the call graph for this function:

◆ getBase()

int Index::getBase ( ) const
inline

Definition at line 151 of file IndexInlines.h.

References Base.

◆ getMessage()

Message & Index::getMessage ( Message & m)
inline

Definition at line 460 of file Index.h.

References Message::get(), and Index().

Here is the call graph for this function:

◆ id()

int Index::id ( ) const
inline

Definition at line 385 of file Index.h.

References Base.

◆ intersect()

Index Index::intersect ( const Index & rhs) const

Definition at line 108 of file Index.cpp.

References Base, BaseFirst, First, first(), general_intersect(), Index(), last(), Length, Stride, and stride().

Referenced by general_intersect(), and spap().

Here is the call graph for this function:

◆ last()

◆ length()

unsigned int Index::length ( ) const
inline

Definition at line 131 of file IndexInlines.h.

References Length.

Referenced by Cartesian< Dim, MFLOAT >::Cartesian(), Cartesian< Dim, MFLOAT >::Cartesian(), Cartesian< Dim, MFLOAT >::Cartesian(), Cartesian< Dim, MFLOAT >::Cartesian(), Cartesian< Dim, MFLOAT >::Cartesian(), Cartesian< Dim, MFLOAT >::Cartesian(), Cartesian< Dim, MFLOAT >::Cartesian(), Cartesian< Dim, MFLOAT >::Cartesian(), Cartesian< Dim, MFLOAT >::Cartesian(), Cartesian< Dim, MFLOAT >::Cartesian(), Cartesian< Dim, MFLOAT >::Cartesian(), Cartesian< Dim, MFLOAT >::Cartesian(), UniformCartesian< Dim, T >::get_volume(), Grad(), Cartesian< Dim, MFLOAT >::initialize(), Cartesian< Dim, MFLOAT >::initialize(), Cartesian< Dim, MFLOAT >::initialize(), Cartesian< Dim, MFLOAT >::initialize(), Cartesian< Dim, MFLOAT >::initialize(), Cartesian< Dim, MFLOAT >::initialize(), Cartesian< Dim, MFLOAT >::initialize(), Cartesian< Dim, MFLOAT >::initialize(), Cartesian< Dim, MFLOAT >::initialize(), Cartesian< Dim, MFLOAT >::initialize(), Cartesian< Dim, MFLOAT >::initialize(), Cartesian< Dim, MFLOAT >::initialize(), UniformCartesian< Dim, MFLOAT >::initialize(), UniformCartesian< Dim, MFLOAT >::initialize(), UniformCartesian< Dim, MFLOAT >::initialize(), UniformCartesian< Dim, MFLOAT >::initialize(), UniformCartesian< Dim, MFLOAT >::initialize(), UniformCartesian< Dim, MFLOAT >::initialize(), UniformCartesian< Dim, MFLOAT >::initialize(), UniformCartesian< Dim, MFLOAT >::initialize(), UniformCartesian< Dim, MFLOAT >::initialize(), putMessage(), UniformCartesian< Dim, T >::set_Dvc(), split(), split(), UniformCartesian< Dim, MFLOAT >::UniformCartesian(), UniformCartesian< Dim, MFLOAT >::UniformCartesian(), UniformCartesian< Dim, MFLOAT >::UniformCartesian(), UniformCartesian< Dim, MFLOAT >::UniformCartesian(), and UniformCartesian< Dim, MFLOAT >::UniformCartesian().

◆ MakeExpression()

cursor Index::MakeExpression ( ) const
inline

Definition at line 470 of file Index.h.

◆ max()

int Index::max ( ) const
inline

Definition at line 146 of file IndexInlines.h.

References First, Length, and Stride.

Referenced by contains(), containsAllPoints(), general_intersect(), and touches().

◆ min()

int Index::min ( ) const
inline

Definition at line 141 of file IndexInlines.h.

References First, Length, and Stride.

Referenced by contains(), containsAllPoints(), general_intersect(), and touches().

◆ operator<()

bool Index::operator< ( const Index & r) const
inline

Definition at line 434 of file Index.h.

References First, Index(), Length, and Stride.

Here is the call graph for this function:

◆ operator==()

bool Index::operator== ( const Index & r) const
inline

Definition at line 441 of file Index.h.

References First, Index(), Length, and Stride.

Here is the call graph for this function:

◆ PETE_unwrap()

Index & PETE_Expr< Index >::PETE_unwrap ( )
inlineinherited

Definition at line 81 of file PETE.h.

◆ plugBase()

Index Index::plugBase ( const Index & a) const
inline

Definition at line 215 of file IndexInlines.h.

References a, Base, BaseFirst, First, Index(), Length, and Stride.

Here is the call graph for this function:

◆ putMessage()

Message & Index::putMessage ( Message & m) const
inline

Definition at line 449 of file Index.h.

References first(), length(), Message::put(), and stride().

Here is the call graph for this function:

◆ reverse()

Index Index::reverse ( ) const
inlineprivate

Definition at line 228 of file IndexInlines.h.

References Base, BaseFirst, First, Index(), last(), Length, and Stride.

Referenced by general_intersect().

Here is the call graph for this function:

◆ sameBase()

bool Index::sameBase ( const Index & i) const
inline

Definition at line 208 of file IndexInlines.h.

References Base, and Index().

Here is the call graph for this function:

◆ split() [1/2]

bool Index::split ( Index & l,
Index & r ) const
inline

Definition at line 285 of file IndexInlines.h.

References First, first(), Index(), Length, length(), PAssert_EQ, PAssert_GT, and Stride.

Here is the call graph for this function:

◆ split() [2/2]

bool Index::split ( Index & l,
Index & r,
double a ) const
inline

Definition at line 303 of file IndexInlines.h.

References a, First, first(), Index(), Length, length(), PAssert_EQ, PAssert_GT, PAssert_LT, and Stride.

Here is the call graph for this function:

◆ stride()

◆ touches()

bool Index::touches ( const Index & a) const
inline

Definition at line 242 of file IndexInlines.h.

References a, Index(), max(), and min().

Referenced by spap().

Here is the call graph for this function:

◆ operator* [1/2]

Index operator* ( const Index & i,
int m )
friend

Definition at line 187 of file IndexInlines.h.

References Index().

◆ operator* [2/2]

Index operator* ( int m,
const Index & i )
friend

Definition at line 192 of file IndexInlines.h.

References Index().

◆ operator+ [1/2]

Index operator+ ( const Index & i,
int off )
friend

Definition at line 162 of file IndexInlines.h.

References Index().

◆ operator+ [2/2]

Index operator+ ( int off,
const Index & i )
friend

Definition at line 167 of file IndexInlines.h.

References Index().

◆ operator- [1/3]

Index operator- ( const Index & i)
friend

Definition at line 182 of file IndexInlines.h.

References Index().

◆ operator- [2/3]

Index operator- ( const Index & i,
int off )
friend

Definition at line 172 of file IndexInlines.h.

References Index().

◆ operator- [3/3]

Index operator- ( int off,
const Index & i )
friend

Definition at line 177 of file IndexInlines.h.

References Index().

◆ operator/

Index operator/ ( const Index & i,
int d )
friend

Definition at line 197 of file IndexInlines.h.

References First, Index(), and Stride.

Member Data Documentation

◆ Base

int Index::Base
private

◆ BaseFirst

unsigned Index::BaseFirst
private

Definition at line 482 of file Index.h.

Referenced by general_intersect(), Index(), Index(), Index(), Index(), Index(), Index(), intersect(), plugBase(), and reverse().

◆ First

◆ Length

unsigned Index::Length
private

◆ Stride


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