LLVM  9.0.0svn
Public Member Functions | Friends | List of all members
llvm::PBQP::Matrix Class Reference

PBQP Matrix class. More...

#include "llvm/CodeGen/PBQP/Math.h"

Inheritance diagram for llvm::PBQP::Matrix:
Inheritance graph
[legend]

Public Member Functions

 Matrix (unsigned Rows, unsigned Cols)
 Construct a PBQP Matrix with the given dimensions. More...
 
 Matrix (unsigned Rows, unsigned Cols, PBQPNum InitVal)
 Construct a PBQP Matrix with the given dimensions and initial value. More...
 
 Matrix (const Matrix &M)
 Copy construct a PBQP matrix. More...
 
 Matrix (Matrix &&M)
 Move construct a PBQP matrix. More...
 
bool operator== (const Matrix &M) const
 Comparison operator. More...
 
unsigned getRows () const
 Return the number of rows in this matrix. More...
 
unsigned getCols () const
 Return the number of cols in this matrix. More...
 
PBQPNumoperator[] (unsigned R)
 Matrix element access. More...
 
const PBQPNumoperator[] (unsigned R) const
 Matrix element access. More...
 
Vector getRowAsVector (unsigned R) const
 Returns the given row as a vector. More...
 
Vector getColAsVector (unsigned C) const
 Returns the given column as a vector. More...
 
Matrix transpose () const
 Matrix transpose. More...
 
Matrixoperator+= (const Matrix &M)
 Add the given matrix to this one. More...
 
Matrix operator+ (const Matrix &M)
 

Friends

hash_code hash_value (const Matrix &)
 Return a hash_code for the given matrix. More...
 

Detailed Description

PBQP Matrix class.

Definition at line 121 of file Math.h.

Constructor & Destructor Documentation

◆ Matrix() [1/4]

llvm::PBQP::Matrix::Matrix ( unsigned  Rows,
unsigned  Cols 
)
inline

Construct a PBQP Matrix with the given dimensions.

Definition at line 127 of file Math.h.

References llvm::Data.

◆ Matrix() [2/4]

llvm::PBQP::Matrix::Matrix ( unsigned  Rows,
unsigned  Cols,
PBQPNum  InitVal 
)
inline

Construct a PBQP Matrix with the given dimensions and initial value.

Definition at line 133 of file Math.h.

References llvm::Data.

◆ Matrix() [3/4]

llvm::PBQP::Matrix::Matrix ( const Matrix M)
inline

Copy construct a PBQP matrix.

Definition at line 140 of file Math.h.

References llvm::copy(), and llvm::Data.

◆ Matrix() [4/4]

llvm::PBQP::Matrix::Matrix ( Matrix &&  M)
inline

Move construct a PBQP matrix.

Definition at line 147 of file Math.h.

References llvm::Data.

Member Function Documentation

◆ getColAsVector()

Vector llvm::PBQP::Matrix::getColAsVector ( unsigned  C) const
inline

Returns the given column as a vector.

Definition at line 196 of file Math.h.

References assert(), C, and llvm::Data.

Referenced by llvm::PBQP::backpropagate().

◆ getCols()

unsigned llvm::PBQP::Matrix::getCols ( ) const
inline

Return the number of cols in this matrix.

Definition at line 167 of file Math.h.

References assert(), and llvm::Data.

Referenced by llvm::PBQP::RegAlloc::MatrixMetadata::MatrixMetadata().

◆ getRowAsVector()

Vector llvm::PBQP::Matrix::getRowAsVector ( unsigned  R) const
inline

Returns the given row as a vector.

Definition at line 187 of file Math.h.

References assert(), C, and llvm::Data.

Referenced by llvm::PBQP::backpropagate(), and llvm::PBQP::operator<<().

◆ getRows()

unsigned llvm::PBQP::Matrix::getRows ( ) const
inline

Return the number of rows in this matrix.

Definition at line 161 of file Math.h.

References assert(), and llvm::Data.

Referenced by llvm::PBQP::applyR2(), llvm::PBQP::RegAlloc::MatrixMetadata::MatrixMetadata(), and llvm::PBQP::operator<<().

◆ operator+()

Matrix llvm::PBQP::Matrix::operator+ ( const Matrix M)
inline

Definition at line 224 of file Math.h.

References assert(), and llvm::Data.

◆ operator+=()

Matrix& llvm::PBQP::Matrix::operator+= ( const Matrix M)
inline

Add the given matrix to this one.

Definition at line 215 of file Math.h.

References assert(), llvm::Data, and llvm::transform().

◆ operator==()

bool llvm::PBQP::Matrix::operator== ( const Matrix M) const
inline

Comparison operator.

Definition at line 153 of file Math.h.

References assert(), llvm::Data, and llvm::lltok::equal.

◆ operator[]() [1/2]

PBQPNum* llvm::PBQP::Matrix::operator[] ( unsigned  R)
inline

Matrix element access.

Definition at line 173 of file Math.h.

References assert(), and llvm::Data.

◆ operator[]() [2/2]

const PBQPNum* llvm::PBQP::Matrix::operator[] ( unsigned  R) const
inline

Matrix element access.

Definition at line 180 of file Math.h.

References assert(), and llvm::Data.

◆ transpose()

Matrix llvm::PBQP::Matrix::transpose ( ) const
inline

Matrix transpose.

Definition at line 205 of file Math.h.

References assert(), and llvm::Data.

Friends And Related Function Documentation

◆ hash_value

hash_code hash_value ( const Matrix M)
friend

Return a hash_code for the given matrix.

Definition at line 237 of file Math.h.


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