MPQC  3.0.0-alpha
sc::sma2::BlockInfo< 4 > Class Template Reference

Public Member Functions

 BlockInfo (const std::vector< bi_t > &v)
 
 BlockInfo (bi_t b0, bi_t b1, bi_t b2, bi_t b3)
 
 BlockInfo (const BlockInfo< 4 > &b, const IndexList &l)
 
template<int NB>
 BlockInfo (const IndexList &l, const BlockInfo< NB > &b, const IndexList &lb)
 
bi_t & block (int i)
 
const bi_t & block (int i) const
 
unsigned int size (const Range *indices) const
 Compute the size of this block.
 
unsigned int subset_size (const Range *indices, const IndexList &indexlist) const
 Compute the size of a block formed from this block by using some subset of the indices given by indexlist.
 
template<int N2>
void assign_blocks (const IndexList &il, const BlockInfo< N2 > &bi2, const IndexList &il2)
 Assign blocks to those in another BlockInfo, bi2, given an IndexList that specifies the index mapping into this BlockInfo, il, and another IndexList that gives the index mapping into the other BlockInfo, il2.
 
template<int N2>
void assign_blocks (const IndexList &il, const BlockInfo< N2 > &bi2)
 Assign blocks to those in another BlockInfo, bi2, given an IndexList that specifies the index mapping into this BlockInfo, il.
 
template<int N2>
bool equiv_blocks (const IndexList &il, const BlockInfo< N2 > &bi2)
 Return true if blocks are the same as in another BlockInfo, bi2, given an IndexList that specifies the index mapping into this BlockInfo, il.
 
void zero ()
 Set all block indices to zero.
 
void print (std::ostream &o=sc::ExEnv::outn()) const
 
void print_block_sizes (const Range *indices, std::ostream &o=sc::ExEnv::outn()) const
 
void write (sc::StateOut &so) const
 
void read (sc::StateIn &si)
 

Public Attributes

union sc::sma2::BlockInfo< 4 >:: { ... }  b_
 
sc::sc_uint64_t l
 
sc::sc_uint32_t i [2]
 
sc::sc_uint16_t s [4]
 
sc::sc_uint8_t c [8]
 

Friends

class IndicesLess< 4 >
 

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

Generated at Sun Jan 26 2020 23:24:15 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.8.16.