class UnivariateLinearPolyBase
Declaration
template <typename LeafTy>
class UnivariateLinearPolyBase { /* full declaration omitted */ };
Description
UnivariateLinearPolyBase is a base class for ElementCount and TypeSize. Like LinearPolyBase it tries to represent a linear polynomial where only one dimension can be set at any time, e.g. 0 * scale0 + 0 * scale1 + ... + cJ * scaleJ + ... + 0 * scaleK The dimension that is set is the univariate dimension.
Declared at: llvm/include/llvm/Support/TypeSize.h:165
Templates
- LeafTy
Member Variables
- protected llvm::UnivariateLinearPolyBase::ScalarTy Value
- protected unsigned int UnivariateDim
- public static const auto Dimensions = LinearPolyBaseTypeTraits<type-parameter-0-0>::Dimensions
Method Overview
- protected UnivariateLinearPolyBase<LeafTy>(llvm::UnivariateLinearPolyBase::ScalarTy Val, unsigned int UnivariateDim)
- public llvm::UnivariateLinearPolyBase::ScalarTy getValue(unsigned int Dim) const
- public LeafTy getWithDecrement(llvm::UnivariateLinearPolyBase::ScalarTy RHS) const
- public LeafTy getWithIncrement(llvm::UnivariateLinearPolyBase::ScalarTy RHS) const
- public bool isNonZero() const
- public bool isZero() const
- public bool operator bool() const
Methods
¶UnivariateLinearPolyBase<LeafTy>(
llvm::UnivariateLinearPolyBase::ScalarTy Val,
unsigned int UnivariateDim)
UnivariateLinearPolyBase<LeafTy>(
llvm::UnivariateLinearPolyBase::ScalarTy Val,
unsigned int UnivariateDim)
Declared at: llvm/include/llvm/Support/TypeSize.h:176
Parameters
- llvm::UnivariateLinearPolyBase::ScalarTy Val
- unsigned int UnivariateDim
¶llvm::UnivariateLinearPolyBase::ScalarTy getValue(
unsigned int Dim) const
llvm::UnivariateLinearPolyBase::ScalarTy getValue(
unsigned int Dim) const
Declared at: llvm/include/llvm/Support/TypeSize.h:232
Parameters
- unsigned int Dim
¶LeafTy getWithDecrement(
llvm::UnivariateLinearPolyBase::ScalarTy RHS)
const
LeafTy getWithDecrement(
llvm::UnivariateLinearPolyBase::ScalarTy RHS)
const
Description
Subtract \p RHS from the value at the univariate dimension.
Declared at: llvm/include/llvm/Support/TypeSize.h:243
Parameters
- llvm::UnivariateLinearPolyBase::ScalarTy RHS
¶LeafTy getWithIncrement(
llvm::UnivariateLinearPolyBase::ScalarTy RHS)
const
LeafTy getWithIncrement(
llvm::UnivariateLinearPolyBase::ScalarTy RHS)
const
Description
Add \p RHS to the value at the univariate dimension.
Declared at: llvm/include/llvm/Support/TypeSize.h:237
Parameters
- llvm::UnivariateLinearPolyBase::ScalarTy RHS
¶bool isNonZero() const
bool isNonZero() const
Declared at: llvm/include/llvm/Support/TypeSize.h:230
¶bool isZero() const
bool isZero() const
Declared at: llvm/include/llvm/Support/TypeSize.h:229
¶bool operator bool() const
bool operator bool() const
Declared at: llvm/include/llvm/Support/TypeSize.h:231