28 #ifndef _math_scmat_dim_h
29 #define _math_scmat_dim_h
31 #include <util/keyval/keyval.h>
32 #include <util/state/state.h>
56 SCBlockInfo(
int n,
int nblocks = 0,
const int *blocksizes = 0);
78 int nelem()
const {
return n_; }
80 int nblock()
const {
return nblocks_; }
82 int start(
int i)
const {
return start_[i]; }
84 int size(
int i)
const {
return size_[i]; }
86 int fence(
int i)
const {
return start_[i] + size_[i]; }
88 void elem_to_block(
int i,
int &block,
int &offset);
116 SCDimension(
int n,
int nblocks,
const int *blocksizes = 0,
117 const char*
name = 0);
138 int n()
const {
return n_; }
141 const char*
name()
const {
return name_.c_str(); }
175 operator int()
const;
int equiv(const SCDimension *) const
Test to see if two dimensions are equivalent.
RefSCDimension()
Initializes the dimension pointer to 0.
The SCDimension class is used to determine the size and blocking of matrices.
Definition: dim.h:105
void save_data_state(StateOut &)
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR ...
A template class that maintains references counts.
Definition: ref.h:361
int nblock() const
Return the number of blocks.
Definition: dim.h:80
void save_data_state(StateOut &)
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR ...
SCBlockInfo(int n, int nblocks=0, const int *blocksizes=0)
Create a SCBlockInfo object.
const Ref< SCBlockInfo > & blocks() const
Return the blocking information for this dimension.
Definition: dim.h:144
int fence(int i) const
Return the last index + 1 for block i.
Definition: dim.h:86
Provides a few utility routines common to all Ref template instantiations.
Definition: ref.h:321
The RefSCDimension class is a smart pointer to an SCDimension specialization.
Definition: dim.h:152
int start(int i) const
Return the starting index for block i.
Definition: dim.h:82
int nelem() const
Return the total number of elements.
Definition: dim.h:78
std::vector< unsigned int > operator<<(const GaussianBasisSet &B, const GaussianBasisSet &A)
computes a map from basis functions in A to the equivalent basis functions in B.
RefSCDimension & operator=(SCDimension *d)
Make this refer to d.
void print(std::ostream &o=ExEnv::out0()) const
Print information about this dimension to o.
const char * name() const
Return the name of the dimension.
Definition: dim.h:141
Definition: stateout.h:71
SCBlockInfo contains blocking information for the SCDimension class.
Definition: dim.h:46
int n() const
Return the dimension.
Definition: dim.h:138
int equiv(SCBlockInfo *bi)
Return nonzero if this is equivalent to bi.
static std::ostream & out0()
Return an ostream that writes from node 0.
Base class for objects that can save/restore state.
Definition: state.h:45
The base class for all reference counted objects.
Definition: ref.h:192
void set_subdim(int i, const RefSCDimension &dim)
Set subdimension information.
void print(std::ostream &o=ExEnv::out0()) const
Print the object to the stream o.
RefSCDimension subdim(int i)
Retreive subdimension information.
int size(int i) const
Return the size of block i.
Definition: dim.h:84
Contains all MPQC code up to version 3.
Definition: mpqcin.h:14
Generated at Sun Jan 26 2020 23:24:00 for MPQC
3.0.0-alpha using the documentation package Doxygen
1.8.16.