escript  Revision_
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
paso::Pattern Struct Reference

#include <Pattern.h>

Inheritance diagram for paso::Pattern:

Public Member Functions

 Pattern (int type, dim_t numOutput, dim_t numInput, index_t *ptr, index_t *index)
 
 ~Pattern ()
 
Pattern_ptr unrollBlocks (int newType, dim_t outputBlockSize, dim_t inputBlockSize)
 
Pattern_ptr getSubpattern (dim_t newNumRows, dim_t newNumCols, const index_t *rowList, const index_t *newColIndex) const
 
void mis (index_t *mis_marker) const
 Searches for a maximal independent set MIS in the matrix pattern. More...
 
void reduceBandwidth (index_t *oldToNew)
 
Pattern_ptr multiply (int type, const_Pattern_ptr other) const
 
Pattern_ptr binop (int type, const_Pattern_ptr other) const
 
index_t * borrowMainDiagonalPointer ()
 
index_t * borrowColoringPointer ()
 
dim_t getBandwidth (index_t *label) const
 
bool isEmpty () const
 
dim_t getNumColors ()
 
dim_t maxDeg () const
 

Static Public Member Functions

static Pattern_ptr fromIndexListArray (dim_t n0, dim_t n, const escript::IndexList *index_list_array, index_t range_min, index_t range_max, index_t index_offset)
 

Public Attributes

int type
 
dim_t numOutput
 
dim_t numInput
 
dim_t len
 
index_t * ptr
 
index_t * index
 
index_t * main_iptr
 
dim_t numColors
 
index_t * coloring
 

Constructor & Destructor Documentation

◆ Pattern()

paso::Pattern::Pattern ( int  type,
dim_t  numOutput,
dim_t  numInput,
index_t *  ptr,
index_t *  index 
)

◆ ~Pattern()

paso::Pattern::~Pattern ( )

References coloring, index, main_iptr, and ptr.

Member Function Documentation

◆ binop()

Pattern_ptr paso::Pattern::binop ( int  type,
const_Pattern_ptr  other 
) const

◆ borrowColoringPointer()

index_t * paso::Pattern::borrowColoringPointer ( )

◆ borrowMainDiagonalPointer()

index_t * paso::Pattern::borrowMainDiagonalPointer ( )

◆ fromIndexListArray()

Pattern_ptr paso::Pattern::fromIndexListArray ( dim_t  n0,
dim_t  n,
const escript::IndexList index_list_array,
index_t  range_min,
index_t  range_max,
index_t  index_offset 
)
static

◆ getBandwidth()

dim_t paso::Pattern::getBandwidth ( index_t *  label) const

References index, numOutput, and ptr.

Referenced by reduceBandwidth().

◆ getNumColors()

dim_t paso::Pattern::getNumColors ( )
inline

◆ getSubpattern()

Pattern_ptr paso::Pattern::getSubpattern ( dim_t  newNumRows,
dim_t  newNumCols,
const index_t *  rowList,
const index_t *  newColIndex 
) const

◆ isEmpty()

bool paso::Pattern::isEmpty ( ) const
inline

◆ maxDeg()

dim_t paso::Pattern::maxDeg ( ) const
inline

References numInput.

◆ mis()

void paso::Pattern::mis ( index_t *  mis_marker) const

Searches for a maximal independent set MIS in the matrix pattern.

References index, IS_AVAILABLE, IS_CONNECTED_TO_MIS, IS_IN_MIS, IS_IN_MIS_NOW, paso::util::isAny(), MATRIX_FORMAT_OFFSET1, numInput, numOutput, ptr, and type.

Referenced by borrowColoringPointer().

◆ multiply()

Pattern_ptr paso::Pattern::multiply ( int  type,
const_Pattern_ptr  other 
) const

◆ reduceBandwidth()

void paso::Pattern::reduceBandwidth ( index_t *  oldToNew)

◆ unrollBlocks()

Pattern_ptr paso::Pattern::unrollBlocks ( int  newType,
dim_t  outputBlockSize,
dim_t  inputBlockSize 
)

Member Data Documentation

◆ coloring

index_t* paso::Pattern::coloring

Referenced by borrowColoringPointer(), and ~Pattern().

◆ index

index_t* paso::Pattern::index

◆ len

dim_t paso::Pattern::len

Referenced by Pattern(), and unrollBlocks().

◆ main_iptr

index_t* paso::Pattern::main_iptr

◆ numColors

dim_t paso::Pattern::numColors

◆ numInput

dim_t paso::Pattern::numInput

◆ numOutput

dim_t paso::Pattern::numOutput

◆ ptr

index_t* paso::Pattern::ptr

◆ type

int paso::Pattern::type

Referenced by getSubpattern(), mis(), and unrollBlocks().


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