Grid 0.7.0
iVector< vtype, N > Class Template Reference

#include <Tensor_class.h>

Public Types

using Traits

Public Member Functions

template<class T, typename std::enable_if<!isGridTensor< T >::value, T >::type * = nullptr>
accelerator_inline auto operator= (T arg) -> iVector< vtype, N >
accelerator iVector ()=default
accelerator_inline iVector (const Zero &z)
template<class other>
accelerator_inline iVector< vtype, N > & operator= (const iVector< other, N > &him)
accelerator_inline iVector< vtype, N > & operator= (const Zero &hero)
accelerator_inline iVector< vtype, N > & operator*= (const iScalar< vtype > &r)
accelerator_inline iVector< vtype, N > & operator-= (const iVector< vtype, N > &r)
accelerator_inline iVector< vtype, N > & operator+= (const iVector< vtype, N > &r)
accelerator_inline vtype & operator() (int i)
accelerator_inline const vtype & operator() (int i) 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]
 GridVector_CopyTraits

Friends

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

Detailed Description

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

Definition at line 189 of file Tensor_class.h.

Member Typedef Documentation

◆ Traits

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

Definition at line 193 of file Tensor_class.h.

Constructor & Destructor Documentation

◆ iVector() [1/2]

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

◆ iVector() [2/2]

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

Definition at line 207 of file Tensor_class.h.

Member Function Documentation

◆ Nsimd()

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

Definition at line 197 of file Tensor_class.h.

◆ operator=() [1/3]

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

Definition at line 200 of file Tensor_class.h.

◆ operator=() [2/3]

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

Definition at line 210 of file Tensor_class.h.

◆ operator=() [3/3]

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

Definition at line 217 of file Tensor_class.h.

◆ operator*=()

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

Definition at line 263 of file Tensor_class.h.

◆ operator-=()

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

Definition at line 267 of file Tensor_class.h.

◆ operator+=()

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

Definition at line 271 of file Tensor_class.h.

◆ operator()() [1/2]

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

Definition at line 275 of file Tensor_class.h.

◆ operator()() [2/2]

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

Definition at line 276 of file Tensor_class.h.

◆ begin() [1/2]

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

◆ begin() [2/2]

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

Definition at line 294 of file Tensor_class.h.

◆ end() [1/2]

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

Definition at line 295 of file Tensor_class.h.

◆ end() [2/2]

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

Definition at line 296 of file Tensor_class.h.

◆ zeroit

◆ prefetch

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

Definition at line 226 of file Tensor_class.h.

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

◆ vstream

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

Definition at line 229 of file Tensor_class.h.

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

◆ vbroadcast

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

Definition at line 234 of file Tensor_class.h.

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

◆ permute

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

Definition at line 239 of file Tensor_class.h.

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

◆ rotate

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

Definition at line 244 of file Tensor_class.h.

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

◆ exchange

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

Definition at line 249 of file Tensor_class.h.

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

◆ operator-

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

Definition at line 257 of file Tensor_class.h.

◆ operator<<

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

Definition at line 279 of file Tensor_class.h.

Field Documentation

◆ _internal

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

Definition at line 191 of file Tensor_class.h.

Referenced by accumRecon5m(), accumRecon5p(), accumReconTm(), accumReconTp(), accumReconXm(), accumReconXp(), accumReconYm(), accumReconYp(), accumReconZm(), accumReconZp(), add(), adj(), conjugate(), convertType(), iVector< CComplex, nbasis >::exchange, Exponentiate(), TensorIndexRecursion< Level >::indexRank(), TensorIndexRecursion< Level >::isMatrix(), TensorIndexRecursion< Level >::isScalar(), TensorIndexRecursion< Level >::isVector(), mac(), mac(), mac(), mult(), mult(), mult(), operator*(), operator*(), iVector< CComplex, nbasis >::operator-, operator/(), iVector< CComplex, nbasis >::operator<<, iVector< CComplex, nbasis >::operator=(), operator==(), iVector< CComplex, nbasis >::permute, TensorIndexRecursion< Level >::pokeIndex(), TensorIndexRecursion< Level >::pokeIndex(), TensorIndexRecursion< 0 >::pokeIndex(), iVector< CComplex, nbasis >::prefetch, ProjectOnGroup(), ProjectOnSpGroup(), iVector< 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(), Ta(), Grid::tensorDim(), Grid::tensorToVec(), timesI(), timesI(), timesMinusI(), timesMinusI(), toComplex(), toReal(), TensorIndexRecursion< Level >::transposeIndex(), iVector< CComplex, nbasis >::vbroadcast, Grid::vecToTensor(), vprefetch(), iVector< CComplex, nbasis >::vstream, and iVector< CComplex, nbasis >::zeroit.

◆ GridVector_CopyTraits

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

Definition at line 195 of file Tensor_class.h.


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