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

Methods

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

Declared at: llvm/include/llvm/Support/TypeSize.h:232

Parameters

unsigned int Dim

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

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

Declared at: llvm/include/llvm/Support/TypeSize.h:230

bool isZero() const

Declared at: llvm/include/llvm/Support/TypeSize.h:229

bool operator bool() const

Declared at: llvm/include/llvm/Support/TypeSize.h:231