QMCPACK
SymmArray< T > Class Template Reference
+ Collaboration diagram for SymmArray< T >:

Public Member Functions

void resize (int n)
 
int rows () const
 
operator() (int i, int j) const
 
T & operator() (int i, int j)
 
 SymmArray (const SymmArray< T > &B)
 
SymmArray< T > & operator= (const SymmArray< T > &B)
 
 SymmArray ()
 

Private Member Functions

int index (int row, int col) const
 

Private Attributes

Array< T, 1 > A
 
int N
 

Detailed Description

template<class T>
class SymmArray< T >

Definition at line 501 of file Blitz.h.

Constructor & Destructor Documentation

◆ SymmArray() [1/2]

SymmArray ( const SymmArray< T > &  B)
inline

Definition at line 524 of file Blitz.h.

References SymmArray< T >::A, B(), and SymmArray< T >::resize().

525  {
526  resize(B.N);
527  A = B.A;
528  }
void resize(int n)
Definition: Blitz.h:512
Array< T, 1 > A
Definition: Blitz.h:504
double B(double x, int k, int i, const std::vector< double > &t)

◆ SymmArray() [2/2]

SymmArray ( )
inline

Definition at line 534 of file Blitz.h.

References SymmArray< T >::N.

534 { N = 0; }
int N
Definition: Blitz.h:505

Member Function Documentation

◆ index()

int index ( int  row,
int  col 
) const
inlineprivate

Definition at line 506 of file Blitz.h.

Referenced by SymmArray< T >::operator()().

507  {
508  return ((row > col) ? ((row * (row + 1) >> 1) + col) : ((col * (col + 1) >> 1) + row));
509  }

◆ operator()() [1/2]

T operator() ( int  i,
int  j 
) const
inline

Definition at line 520 of file Blitz.h.

References SymmArray< T >::A, and SymmArray< T >::index().

520 { return (A(index(i, j))); }
int index(int row, int col) const
Definition: Blitz.h:506
Array< T, 1 > A
Definition: Blitz.h:504

◆ operator()() [2/2]

T& operator() ( int  i,
int  j 
)
inline

Definition at line 522 of file Blitz.h.

References SymmArray< T >::A, and SymmArray< T >::index().

522 { return (A(index(i, j))); }
int index(int row, int col) const
Definition: Blitz.h:506
Array< T, 1 > A
Definition: Blitz.h:504

◆ operator=()

SymmArray<T>& operator= ( const SymmArray< T > &  B)
inline

Definition at line 529 of file Blitz.h.

References SymmArray< T >::A, and B().

530  {
531  A = B.A;
532  return *this;
533  }
Array< T, 1 > A
Definition: Blitz.h:504
double B(double x, int k, int i, const std::vector< double > &t)

◆ resize()

void resize ( int  n)
inline

Definition at line 512 of file Blitz.h.

References SymmArray< T >::A, qmcplusplus::n, SymmArray< T >::N, and Array< T, D, ALLOC >::resize().

Referenced by SymmArray< T >::SymmArray().

513  {
514  N = (n * (n + 1)) >> 1;
515  A.resize(N);
516  }
int N
Definition: Blitz.h:505
void resize(const std::array< SIZET, D > &dims)
Resize the container.
Definition: OhmmsArray.h:65
Array< T, 1 > A
Definition: Blitz.h:504

◆ rows()

int rows ( ) const
inline

Definition at line 518 of file Blitz.h.

References SymmArray< T >::N.

518 { return N; }
int N
Definition: Blitz.h:505

Member Data Documentation

◆ A

◆ N

int N
private

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