v0.8.13
Public Member Functions | List of all members
FTensor::Tensor2_symmetric< PackPtr< T *, I >, Tensor_Dim > Class Template Reference

#include <src/ftensor/src/FTensor/Tensor2_symmetric/Tensor2_symmetric_pointer.hpp>

Inheritance diagram for FTensor::Tensor2_symmetric< PackPtr< T *, I >, Tensor_Dim >:
[legend]
Collaboration diagram for FTensor::Tensor2_symmetric< PackPtr< T *, I >, Tensor_Dim >:
[legend]

Public Member Functions

template<class... U>
 Tensor2_symmetric (U *... d)
 
 Tensor2_symmetric ()
 
const Tensor2_symmetric< PackPtr< T *, I >, Tensor_Dim > & operator++ () const
 
- Public Member Functions inherited from FTensor::Tensor2_symmetric< T *, Tensor_Dim >
template<class... U>
 Tensor2_symmetric (U *... d)
 
template<class... U>
 Tensor2_symmetric (const int i, U *... d)
 
 Tensor2_symmetric ()
 
 Tensor2_symmetric (T *d00, T *d01, T *d11, const int i=1)
 
 Tensor2_symmetric (T *d00, T *d01, T *d02, T *d11, T *d12, T *d22, const int i=1)
 
Toperator() (const int N1, const int N2)
 
T operator() (const int N1, const int N2) const
 
Tptr (const int N1, const int N2) const
 
template<char i, char j, int Dim0, int Dim1>
Tensor2_Expr< Tensor2_symmetric< T *, Tensor_Dim >, T, Dim0, Dim1, i, j > operator() (const Index< i, Dim0 > index1, const Index< j, Dim1 > index2)
 
template<char i, char j, int Dim0, int Dim1>
Tensor2_Expr< const Tensor2_symmetric< T *, Tensor_Dim >, T, Dim0, Dim1, i, j > operator() (const Index< i, Dim0 > index1, const Index< j, Dim1 > index2) const
 
template<char i, char j, int Dim>
Tensor2_symmetric_Expr< Tensor2_symmetric< T *, Tensor_Dim >, T, Dim, i, j > operator() (const Index< i, Dim > index1, const Index< j, Dim > index2)
 
template<char i, char j, int Dim>
Tensor2_symmetric_Expr< const Tensor2_symmetric< T *, Tensor_Dim >, T, Dim, i, j > operator() (const Index< i, Dim > index1, const Index< j, Dim > index2) const
 
template<char i, int N, int Dim>
Tensor1_Expr< Tensor2_number_rhs_1< Tensor2_symmetric< T *, Tensor_Dim >, T, N >, T, Dim, i > operator() (const Index< i, Dim > index1, const Number< N > &n1)
 
template<char i, int N, int Dim>
Tensor1_Expr< const Tensor2_number_1< const Tensor2_symmetric< T *, Tensor_Dim >, T, N >, T, Dim, i > operator() (const Index< i, Dim > index1, const Number< N > &n1) const
 
template<char i, int N, int Dim>
Tensor1_Expr< Tensor2_number_rhs_0< Tensor2_symmetric< T *, Tensor_Dim >, T, N >, T, Dim, i > operator() (const Number< N > &n1, const Index< i, Dim > index1)
 
template<char i, int N, int Dim>
Tensor1_Expr< const Tensor2_number_0< const Tensor2_symmetric< T *, Tensor_Dim >, T, N >, T, Dim, i > operator() (const Number< N > &n1, const Index< i, Dim > index1) const
 
template<char i, int Dim>
Tensor1_Expr< const Tensor2_numeral_1< const Tensor2_symmetric< T *, Tensor_Dim >, T >, T, Dim, i > operator() (const Index< i, Dim > index1, const int N) const
 
template<char i, int Dim>
Tensor1_Expr< const Tensor2_numeral_0< const Tensor2_symmetric< T *, Tensor_Dim >, T >, T, Dim, i > operator() (const int N, const Index< i, Dim > index1) const
 
const Tensor2_symmetric< T *, Tensor_Dim > & operator++ () const
 
template<char i, int Dim>
T operator() (const Index< i, Dim > index1, const Index< i, Dim > index2)
 
template<char i, int Dim>
T operator() (const Index< i, Dim > index1, const Index< i, Dim > index2) const
 

Additional Inherited Members

- Protected Attributes inherited from FTensor::Tensor2_symmetric< T *, Tensor_Dim >
T *restrict data [(Tensor_Dim *(Tensor_Dim+1))/2]
 

Detailed Description

template<class T, int Tensor_Dim, int I>
class FTensor::Tensor2_symmetric< PackPtr< T *, I >, Tensor_Dim >

Definition at line 250 of file Tensor2_symmetric_pointer.hpp.

Constructor & Destructor Documentation

◆ Tensor2_symmetric() [1/2]

template<class T , int Tensor_Dim, int I>
template<class... U>
FTensor::Tensor2_symmetric< PackPtr< T *, I >, Tensor_Dim >::Tensor2_symmetric ( U *...  d)

Definition at line 255 of file Tensor2_symmetric_pointer.hpp.

255 : Tensor2_symmetric<T *, Tensor_Dim>(d...) {}
const Tensor1_Expr< const dTensor0< T, Dim, i >, typename promote< T, double >::V, Dim, i > d(const Tensor0< T *> &a, const Index< i, Dim > index, const Tensor1< int, Dim > &d_ijk, const Tensor1< double, Dim > &d_xyz)
Definition: dTensor0.hpp:27

◆ Tensor2_symmetric() [2/2]

template<class T , int Tensor_Dim, int I>
FTensor::Tensor2_symmetric< PackPtr< T *, I >, Tensor_Dim >::Tensor2_symmetric ( )

Definition at line 257 of file Tensor2_symmetric_pointer.hpp.

257 : Tensor2_symmetric<T *, Tensor_Dim>() {}

Member Function Documentation

◆ operator++()

template<class T , int Tensor_Dim, int I>
const Tensor2_symmetric<PackPtr<T *, I>, Tensor_Dim>& FTensor::Tensor2_symmetric< PackPtr< T *, I >, Tensor_Dim >::operator++ ( ) const

Definition at line 263 of file Tensor2_symmetric_pointer.hpp.

264  {
265  for(int i = 0; i < (Tensor_Dim * (Tensor_Dim + 1)) / 2; ++i)
267  return *this;
268  }
T *restrict data[(Tensor_Dim *(Tensor_Dim+1))/2]

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