Grid 0.7.0
iMatrix< vtype, N > Class Template Reference

#include <Tensor_class.h>

Public Types

using Traits

Public Member Functions

accelerator_inline iMatrix (const Zero &z)
accelerator iMatrix ()=default
template<class other>
accelerator_inline iMatrixoperator= (const iMatrix< other, N > &rhs)
accelerator_inline iMatrix (scalar_type s)
accelerator_inline iMatrix< vtype, N > & operator= (const Zero &hero)
template<class T, typename std::enable_if<!isGridTensor< T >::value, T >::type * = nullptr>
accelerator_inline auto operator= (T arg) -> iMatrix< vtype, N >
template<class T>
accelerator_inline iMatrix< vtype, N > & operator*= (const T &r)
template<class T>
accelerator_inline iMatrix< vtype, N > & operator-= (const T &r)
template<class T>
accelerator_inline iMatrix< vtype, N > & operator+= (const T &r)
accelerator_inline vtype & operator() (int i, int j)
accelerator_inline const vtype & operator() (int i, int j) const
strong_inline const scalar_typebegin () const
strong_inline scalar_typebegin ()
strong_inline const scalar_typeend () const
strong_inline scalar_typeend ()

Static Public Member Functions

static accelerator_inline constexpr int Nsimd (void)

Data Fields

vtype _internal [N][N]
 GridVector_CopyTraits

Friends

accelerator_inline void zeroit (iMatrix< vtype, N > &that)
accelerator_inline void prefetch (iMatrix< vtype, N > &that)
accelerator_inline void vstream (iMatrix< vtype, N > &out, const iMatrix< vtype, N > &in)
accelerator_inline void vbroadcast (iMatrix< vtype, N > &out, const iMatrix< vtype, N > &in, int lane)
accelerator_inline void permute (iMatrix< vtype, N > &out, const iMatrix< vtype, N > &in, int permutetype)
accelerator_inline void rotate (iMatrix< vtype, N > &out, const iMatrix< vtype, N > &in, int rot)
accelerator_inline void exchange (iMatrix< vtype, N > &out1, iMatrix< vtype, N > &out2, const iMatrix< vtype, N > &in1, const iMatrix< vtype, N > &in2, int type)
accelerator_inline iMatrix< vtype, N > operator- (const iMatrix< vtype, N > &r)
std::ostream & operator<< (std::ostream &stream, const iMatrix< vtype, N > &o)

Detailed Description

template<class vtype, int N>
class iMatrix< vtype, N >

Definition at line 301 of file Tensor_class.h.

Member Typedef Documentation

◆ Traits

template<class vtype, int N>
using iMatrix< vtype, N >::Traits

Definition at line 305 of file Tensor_class.h.

Constructor & Destructor Documentation

◆ iMatrix() [1/3]

template<class vtype, int N>
accelerator_inline iMatrix< vtype, N >::iMatrix ( const Zero & z)
inline

Definition at line 311 of file Tensor_class.h.

◆ iMatrix() [2/3]

template<class vtype, int N>
accelerator iMatrix< vtype, N >::iMatrix ( )
default

◆ iMatrix() [3/3]

template<class vtype, int N>
accelerator_inline iMatrix< vtype, N >::iMatrix ( scalar_type s)
inline

Definition at line 323 of file Tensor_class.h.

Member Function Documentation

◆ Nsimd()

template<class vtype, int N>
accelerator_inline constexpr int iMatrix< vtype, N >::Nsimd ( void )
inlinestaticconstexpr

Definition at line 309 of file Tensor_class.h.

◆ operator=() [1/3]

template<class vtype, int N>
template<class other>
accelerator_inline iMatrix & iMatrix< vtype, N >::operator= ( const iMatrix< other, N > & rhs)
inline

Definition at line 316 of file Tensor_class.h.

◆ operator=() [2/3]

template<class vtype, int N>
accelerator_inline iMatrix< vtype, N > & iMatrix< vtype, N >::operator= ( const Zero & hero)
inline

Definition at line 327 of file Tensor_class.h.

◆ operator=() [3/3]

template<class vtype, int N>
template<class T, typename std::enable_if<!isGridTensor< T >::value, T >::type * = nullptr>
accelerator_inline auto iMatrix< vtype, N >::operator= ( T arg) -> iMatrix< vtype, N >
inline

Definition at line 332 of file Tensor_class.h.

◆ operator*=()

template<class vtype, int N>
template<class T>
accelerator_inline iMatrix< vtype, N > & iMatrix< vtype, N >::operator*= ( const T & r)
inline

Definition at line 394 of file Tensor_class.h.

◆ operator-=()

template<class vtype, int N>
template<class T>
accelerator_inline iMatrix< vtype, N > & iMatrix< vtype, N >::operator-= ( const T & r)
inline

Definition at line 399 of file Tensor_class.h.

◆ operator+=()

template<class vtype, int N>
template<class T>
accelerator_inline iMatrix< vtype, N > & iMatrix< vtype, N >::operator+= ( const T & r)
inline

Definition at line 404 of file Tensor_class.h.

◆ operator()() [1/2]

template<class vtype, int N>
accelerator_inline vtype & iMatrix< vtype, N >::operator() ( int i,
int j )
inline

Definition at line 410 of file Tensor_class.h.

◆ operator()() [2/2]

template<class vtype, int N>
accelerator_inline const vtype & iMatrix< vtype, N >::operator() ( int i,
int j ) const
inline

Definition at line 411 of file Tensor_class.h.

◆ begin() [1/2]

template<class vtype, int N>
strong_inline const scalar_type * iMatrix< vtype, N >::begin ( ) const
inline

◆ begin() [2/2]

template<class vtype, int N>
strong_inline scalar_type * iMatrix< vtype, N >::begin ( )
inline

Definition at line 437 of file Tensor_class.h.

◆ end() [1/2]

template<class vtype, int N>
strong_inline const scalar_type * iMatrix< vtype, N >::end ( ) const
inline

Definition at line 438 of file Tensor_class.h.

◆ end() [2/2]

template<class vtype, int N>
strong_inline scalar_type * iMatrix< vtype, N >::end ( )
inline

Definition at line 439 of file Tensor_class.h.

◆ zeroit

◆ prefetch

template<class vtype, int N>
accelerator_inline void prefetch ( iMatrix< vtype, N > & that)
friend

Definition at line 344 of file Tensor_class.h.

Referenced by iMatrix< CComplex, nbasis >::prefetch.

◆ vstream

template<class vtype, int N>
accelerator_inline void vstream ( iMatrix< vtype, N > & out,
const iMatrix< vtype, N > & in )
friend

Definition at line 350 of file Tensor_class.h.

Referenced by iMatrix< CComplex, nbasis >::vstream.

◆ vbroadcast

template<class vtype, int N>
accelerator_inline void vbroadcast ( iMatrix< vtype, N > & out,
const iMatrix< vtype, N > & in,
int lane )
friend

Definition at line 356 of file Tensor_class.h.

Referenced by iMatrix< CComplex, nbasis >::vbroadcast.

◆ permute

template<class vtype, int N>
accelerator_inline void permute ( iMatrix< vtype, N > & out,
const iMatrix< vtype, N > & in,
int permutetype )
friend

Definition at line 363 of file Tensor_class.h.

Referenced by iMatrix< CComplex, nbasis >::permute.

◆ rotate

template<class vtype, int N>
accelerator_inline void rotate ( iMatrix< vtype, N > & out,
const iMatrix< vtype, N > & in,
int rot )
friend

Definition at line 369 of file Tensor_class.h.

Referenced by iMatrix< CComplex, nbasis >::rotate.

◆ exchange

template<class vtype, int N>
accelerator_inline void exchange ( iMatrix< vtype, N > & out1,
iMatrix< vtype, N > & out2,
const iMatrix< vtype, N > & in1,
const iMatrix< vtype, N > & in2,
int type )
friend

Definition at line 375 of file Tensor_class.h.

Referenced by iMatrix< CComplex, nbasis >::exchange.

◆ operator-

template<class vtype, int N>
accelerator_inline iMatrix< vtype, N > operator- ( const iMatrix< vtype, N > & r)
friend

Definition at line 384 of file Tensor_class.h.

◆ operator<<

template<class vtype, int N>
std::ostream & operator<< ( std::ostream & stream,
const iMatrix< vtype, N > & o )
friend

Definition at line 416 of file Tensor_class.h.

Field Documentation

◆ _internal

template<class vtype, int N>
vtype iMatrix< vtype, N >::_internal[N][N]

Definition at line 303 of file Tensor_class.h.

Referenced by accumRecon5m(), accumRecon5p(), accumReconTm(), accumReconTp(), accumReconXm(), accumReconXp(), accumReconYm(), accumReconYp(), accumReconZm(), accumReconZp(), add(), add(), add(), adj(), conjugate(), convertType(), Determinant(), iMatrix< CComplex, nbasis >::exchange, TensorIndexRecursion< Level >::indexRank(), TensorIndexRecursion< Level >::isMatrix(), TensorIndexRecursion< Level >::isScalar(), TensorIndexRecursion< Level >::isVector(), mac(), mac(), mac(), mac(), mult(), mult(), mult(), mult(), operator*(), operator*(), operator*(), operator*(), iMatrix< CComplex, nbasis >::operator-, operator/(), iMatrix< CComplex, nbasis >::operator<<, iMatrix< CComplex, nbasis >::operator=(), operator==(), iMatrix< CComplex, nbasis >::permute, TensorIndexRecursion< Level >::pokeIndex(), TensorIndexRecursion< Level >::pokeIndex(), TensorIndexRecursion< 0 >::pokeIndex(), iMatrix< CComplex, nbasis >::prefetch, ProjectOnGroup(), ProjectOnSpGroup(), iMatrix< CComplex, nbasis >::rotate, spProj5m(), spProj5m(), spProj5p(), spProj5p(), spProjTm(), spProjTp(), spProjXm(), spProjXp(), spProjYm(), spProjYp(), spProjZm(), spProjZp(), spRecon5m(), spRecon5p(), spReconTm(), spReconTp(), spReconXm(), spReconXp(), spReconYm(), spReconYp(), spReconZm(), spReconZp(), SpTa(), sub(), sub(), sub(), Grid::tensorDim(), Grid::tensorToVec(), timesI(), timesI(), timesMinusI(), timesMinusI(), toComplex(), toReal(), transpose(), TensorIndexRecursion< Level >::transposeIndex(), TensorIndexRecursion< 0 >::transposeIndex(), iMatrix< CComplex, nbasis >::vbroadcast, Grid::vecToTensor(), vprefetch(), iMatrix< CComplex, nbasis >::vstream, and iMatrix< CComplex, nbasis >::zeroit.

◆ GridVector_CopyTraits

template<class vtype, int N>
iMatrix< vtype, N >::GridVector_CopyTraits

Definition at line 307 of file Tensor_class.h.


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