MLIR 22.0.0git
mlir::sparse_tensor::I64BitSet Class Reference

A simple wrapper to encode a bitset of (at most 64) levels, currently used by sparse_tensor.iterate operation for the set of levels on which the coordinates should be loaded. More...

#include "mlir/Dialect/SparseTensor/IR/SparseTensor.h"

Public Types

using const_set_bits_iterator = llvm::const_set_bits_iterator_impl<I64BitSet>

Public Member Functions

const_set_bits_iterator begin () const
const_set_bits_iterator end () const
iterator_range< const_set_bits_iteratorbits () const
 I64BitSet ()=default
 I64BitSet (uint64_t bits)
 operator uint64_t () const
I64BitSetset (unsigned i)
I64BitSetoperator|= (I64BitSet lhs)
I64BitSetlshift (unsigned offset)
bool isSubSetOf (const I64BitSet p) const
int find_first () const
int find_next (unsigned prev) const
bool operator[] (unsigned i) const
unsigned min () const
unsigned max () const
unsigned count () const
bool empty () const

Detailed Description

A simple wrapper to encode a bitset of (at most 64) levels, currently used by sparse_tensor.iterate operation for the set of levels on which the coordinates should be loaded.

Definition at line 64 of file SparseTensor.h.

Member Typedef Documentation

◆ const_set_bits_iterator

using mlir::sparse_tensor::I64BitSet::const_set_bits_iterator = llvm::const_set_bits_iterator_impl<I64BitSet>

Definition at line 68 of file SparseTensor.h.

Constructor & Destructor Documentation

◆ I64BitSet() [1/2]

mlir::sparse_tensor::I64BitSet::I64BitSet ( )
default

Referenced by isSubSetOf(), lshift(), operator|=(), and set().

◆ I64BitSet() [2/2]

mlir::sparse_tensor::I64BitSet::I64BitSet ( uint64_t bits)
inlineexplicit

Definition at line 80 of file SparseTensor.h.

References bits().

Member Function Documentation

◆ begin()

const_set_bits_iterator mlir::sparse_tensor::I64BitSet::begin ( ) const
inline

Definition at line 69 of file SparseTensor.h.

Referenced by bits().

◆ bits()

iterator_range< const_set_bits_iterator > mlir::sparse_tensor::I64BitSet::bits ( ) const
inline

◆ count()

unsigned mlir::sparse_tensor::I64BitSet::count ( ) const
inline

Definition at line 126 of file SparseTensor.h.

Referenced by parseOptionalDefinedList().

◆ empty()

bool mlir::sparse_tensor::I64BitSet::empty ( ) const
inline

Definition at line 127 of file SparseTensor.h.

Referenced by printOptionalDefinedList().

◆ end()

const_set_bits_iterator mlir::sparse_tensor::I64BitSet::end ( ) const
inline

Definition at line 72 of file SparseTensor.h.

Referenced by bits().

◆ find_first()

int mlir::sparse_tensor::I64BitSet::find_first ( ) const
inline

Definition at line 106 of file SparseTensor.h.

References min().

◆ find_next()

int mlir::sparse_tensor::I64BitSet::find_next ( unsigned prev) const
inline

Definition at line 107 of file SparseTensor.h.

References b, and max().

◆ isSubSetOf()

bool mlir::sparse_tensor::I64BitSet::isSubSetOf ( const I64BitSet p) const
inline

Definition at line 99 of file SparseTensor.h.

References I64BitSet().

◆ lshift()

I64BitSet & mlir::sparse_tensor::I64BitSet::lshift ( unsigned offset)
inline

Definition at line 94 of file SparseTensor.h.

References I64BitSet().

◆ max()

unsigned mlir::sparse_tensor::I64BitSet::max ( ) const
inline

Definition at line 125 of file SparseTensor.h.

Referenced by find_next().

◆ min()

unsigned mlir::sparse_tensor::I64BitSet::min ( ) const
inline

Definition at line 121 of file SparseTensor.h.

Referenced by find_first().

◆ operator uint64_t()

mlir::sparse_tensor::I64BitSet::operator uint64_t ( ) const
inline

Definition at line 81 of file SparseTensor.h.

◆ operator[]()

bool mlir::sparse_tensor::I64BitSet::operator[] ( unsigned i) const
inline

Definition at line 117 of file SparseTensor.h.

◆ operator|=()

I64BitSet & mlir::sparse_tensor::I64BitSet::operator|= ( I64BitSet lhs)
inline

Definition at line 89 of file SparseTensor.h.

References I64BitSet(), and lhs.

◆ set()

I64BitSet & mlir::sparse_tensor::I64BitSet::set ( unsigned i)
inline

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