v0.8.17
Public Member Functions | List of all members
FTensor::Ddg< PackPtr< T *, I >, Tensor_Dim01, Tensor_Dim23 > Class Template Reference

#include <src/ftensor/src/FTensor/Ddg/Ddg_pointer.hpp>

Inheritance diagram for FTensor::Ddg< PackPtr< T *, I >, Tensor_Dim01, Tensor_Dim23 >:
[legend]
Collaboration diagram for FTensor::Ddg< PackPtr< T *, I >, Tensor_Dim01, Tensor_Dim23 >:
[legend]

Public Member Functions

template<class... U>
 Ddg (U *... d)
 
const Ddgoperator++ () const
 
- Public Member Functions inherited from FTensor::Ddg< T *, Tensor_Dim01, Tensor_Dim23 >
 Ddg (T *d0000, T *d0010, T *d0011, T *d1000, T *d1010, T *d1011, T *d1100, T *d1110, T *d1111, const int i=1)
 
 Ddg (T *d0000, T *d0001, T *d0002, T *d0011, T *d0012, T *d0022, T *d0100, T *d0101, T *d0102, T *d0111, T *d0112, T *d0122, T *d0200, T *d0201, T *d0202, T *d0211, T *d0212, T *d0222, T *d1100, T *d1101, T *d1102, T *d1111, T *d1112, T *d1122, T *d1200, T *d1201, T *d1202, T *d1211, T *d1212, T *d1222, T *d2200, T *d2201, T *d2202, T *d2211, T *d2212, T *d2222, const int i=1)
 
template<class... U>
 Ddg (U *... d)
 
T & operator() (const int N1, const int N2, const int N3, const int N4)
 
operator() (const int N1, const int N2, const int N3, const int N4) const
 
T *restrict & ptr (const int N1, const int N2, const int N3, const int N4) const
 
template<char i, char j, char k, char l, int Dim01, int Dim23>
Ddg_Expr< Ddg< T *, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l > operator() (const Index< i, Dim01 > index1, const Index< j, Dim01 > index2, const Index< k, Dim23 > index3, const Index< l, Dim23 > index4)
 
template<char i, char j, char k, char l, int Dim01, int Dim23>
Ddg_Expr< const Ddg< T *, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l > operator() (const Index< i, Dim01 > index1, const Index< j, Dim01 > index2, const Index< k, Dim23 > index3, const Index< l, Dim23 > index4) const
 
template<char i, char j, int N0, int N1, int Dim>
Tensor2_symmetric_Expr< Ddg_number_01< const Ddg< T *, Tensor_Dim01, Tensor_Dim23 >, T, N0, N1 >, T, Dim, i, j > operator() (const Number< N0 > n1, const Number< N1 > n2, const Index< i, Dim > index1, const Index< j, Dim > index2) const
 
template<char i, char j, int N0, int N1, int Dim>
Tensor2_symmetric_Expr< Ddg_number_rhs_01< Ddg< T *, Tensor_Dim01, Tensor_Dim23 >, T, N0, N1 >, T, Dim, i, j > operator() (const Number< N0 > n1, const Number< N1 > n2, const Index< i, Dim > index1, const Index< j, Dim > index2)
 
template<char i, char j, char k, int N0, int Dim1, int Dim23>
Dg_Expr< Ddg_number_0< const Ddg< T *, Tensor_Dim01, Tensor_Dim23 >, T, N0 >, T, Dim23, Dim1, i, j, k > operator() (const Number< N0 > n1, const Index< k, Dim1 > index3, const Index< i, Dim23 > index1, const Index< j, Dim23 > index2) const
 
template<char i, char j, char k, int N0, int Dim1, int Dim23>
Dg_Expr< Ddg_number_rhs_0< Ddg< T *, Tensor_Dim01, Tensor_Dim23 >, T, N0 >, T, Dim23, Dim1, i, j, k > operator() (const Number< N0 > n1, const Index< k, Dim1 > index3, const Index< i, Dim23 > index1, const Index< j, Dim23 > index2)
 
template<char i, char j, int Dim>
Tensor2_symmetric_Expr< Ddg_numeral_01< const Ddg< T *, Tensor_Dim01, Tensor_Dim23 >, T >, T, Dim, i, j > operator() (const int N0, const int N1, const Index< i, Dim > index1, const Index< j, Dim > index2) const
 
template<char i, char j, int Dim>
Tensor2_symmetric_Expr< Ddg_numeral_23< Ddg< T *, Tensor_Dim01, Tensor_Dim23 >, T >, T, Dim, i, j > operator() (const Index< i, Dim > index1, const Index< j, Dim > index2, const int N2, const int N3) const
 
template<char i, int Dim>
Tensor1_Expr< Ddg_numeral_123< Ddg< T *, Tensor_Dim01, Tensor_Dim23 >, T >, T, Dim, i > operator() (const Index< i, Dim > index1, const int N1, const int N2, const int N3)
 
template<char i, int Dim>
Tensor1_Expr< Ddg_numeral_123< Ddg< T *, Tensor_Dim01, Tensor_Dim23 >, T >, T, Dim, i > operator() (const int N1, const Index< i, Dim > index1, const int N2, const int N3)
 
template<char i, char j, char k, int Dim1, int Dim23>
Dg_Expr< Ddg_numeral_0< const Ddg< T *, Tensor_Dim01, Tensor_Dim23 >, T >, T, Dim23, Dim1, i, j, k > operator() (const int N0, const Index< k, Dim1 > index3, const Index< i, Dim23 > index1, const Index< j, Dim23 > index2) const
 
const Ddgoperator++ () const
 

Additional Inherited Members

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

Detailed Description

template<class T, int Tensor_Dim01, int Tensor_Dim23, int I>
class FTensor::Ddg< PackPtr< T *, I >, Tensor_Dim01, Tensor_Dim23 >

Definition at line 323 of file Ddg_pointer.hpp.

Constructor & Destructor Documentation

◆ Ddg()

template<class T , int Tensor_Dim01, int Tensor_Dim23, int I>
template<class... U>
FTensor::Ddg< PackPtr< T *, I >, Tensor_Dim01, Tensor_Dim23 >::Ddg ( U *...  d)

Definition at line 329 of file Ddg_pointer.hpp.

329 : Ddg<T *, Tensor_Dim01, Tensor_Dim23>(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

Member Function Documentation

◆ operator++()

template<class T , int Tensor_Dim01, int Tensor_Dim23, int I>
const Ddg& FTensor::Ddg< PackPtr< T *, I >, Tensor_Dim01, Tensor_Dim23 >::operator++ ( ) const

Definition at line 334 of file Ddg_pointer.hpp.

334  {
335  for (int i = 0; i < (Tensor_Dim01 * (Tensor_Dim01 + 1)) / 2; ++i)
336  for (int j = 0; j < (Tensor_Dim01 * (Tensor_Dim01 + 1)) / 2; ++j)
338  return *this;
339  }
T *restrict data[(Tensor_Dim01 *(Tensor_Dim01+1))/2][(Tensor_Dim23 *(Tensor_Dim23+1))/2]
Definition: Ddg_pointer.hpp:15

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