v0.8.14
Public Member Functions | List of all members
FTensor::Christof< PackPtr< T *, I >, Tensor_Dim0, Tensor_Dim12 > Class Template Reference

#include <src/ftensor/src/FTensor/Christof/Christof_pointer.hpp>

Inheritance diagram for FTensor::Christof< PackPtr< T *, I >, Tensor_Dim0, Tensor_Dim12 >:
[legend]
Collaboration diagram for FTensor::Christof< PackPtr< T *, I >, Tensor_Dim0, Tensor_Dim12 >:
[legend]

Public Member Functions

template<class... U>
 Christof (U *... d)
 
 Christof ()
 
const Christof< PackPtr< T *, I >, Tensor_Dim0, Tensor_Dim12 > & operator++ () const
 
- Public Member Functions inherited from FTensor::Christof< T *, Tensor_Dim0, Tensor_Dim12 >
template<class... U>
 Christof (U *... d)
 
template<class... U>
 Christof (const int i, U *... d)
 
 Christof ()
 
Toperator() (const int N1, const int N2, const int N3)
 
T operator() (const int N1, const int N2, const int N3) const
 
Tptr (const int N1, const int N2, const int N3) const
 
template<char i, char j, char k, int Dim0, int Dim12>
Dg_Expr< Christof< T *, Tensor_Dim0, Tensor_Dim12 >, T, Dim12, Dim0, i, j, k > operator() (const Index< k, Dim0 > index1, const Index< i, Dim12 > index2, const Index< j, Dim12 > index3)
 
template<char i, char j, char k, int Dim0, int Dim12>
Dg_Expr< const Christof< T *, Tensor_Dim0, Tensor_Dim12 >, T, Dim12, Dim0, i, j, k > operator() (const Index< k, Dim0 > index1, const Index< i, Dim12 > index2, const Index< j, Dim12 > index3) const
 
template<char i, char j, int Dim0, int Dim12>
Tensor1_Expr< const Tensor3_contracted_12< const Christof< T *, Tensor_Dim0, Tensor_Dim12 >, T, Dim12 >, T, Dim0, i > operator() (const Index< i, Dim0 > index1, const Index< j, Dim12 > index2, const Index< j, Dim12 > index3) const
 
template<char i, char j, int Dim02, int Dim1>
Tensor1_Expr< const Tensor3_contracted_02< const Christof< T *, Tensor_Dim0, Tensor_Dim12 >, T, Dim02 >, T, Dim1, i > operator() (const Index< j, Dim02 > index1, const Index< i, Dim1 > index2, const Index< j, Dim02 > index3) const
 
template<char i, char j, int Dim01, int Dim2>
Tensor1_Expr< const Tensor3_contracted_01< const Christof< T *, Tensor_Dim0, Tensor_Dim12 >, T, Dim01 >, T, Dim2, i > operator() (const Index< j, Dim01 > index1, const Index< j, Dim01 > index2, const Index< i, Dim2 > index3) const
 
template<char i, char j, int Dim0, int Dim12>
Tensor1_Expr< const Tensor3_contracted_12< const Christof< T *, Tensor_Dim0, Tensor_Dim12 >, T, Dim12 >, T, Dim0, i > operator() (const Index< i, Dim0 > index1, const Index< j, Dim12 > index2, const Index< j, Dim12 > index3)
 
template<char i, char j, int Dim02, int Dim1>
Tensor1_Expr< const Tensor3_contracted_02< const Christof< T *, Tensor_Dim0, Tensor_Dim12 >, T, Dim02 >, T, Dim1, i > operator() (const Index< j, Dim02 > index1, const Index< i, Dim1 > index2, const Index< j, Dim02 > index3)
 
template<char i, char j, int Dim01, int Dim2>
Tensor1_Expr< const Tensor3_contracted_01< const Christof< T *, Tensor_Dim0, Tensor_Dim12 >, T, Dim01 >, T, Dim2, i > operator() (const Index< j, Dim01 > index1, const Index< j, Dim01 > index2, const Index< i, Dim2 > index3)
 
template<char i, char j, int N, int Dim12>
Tensor2_symmetric_Expr< const Christof_number_0< const Christof< T *, Tensor_Dim0, Tensor_Dim12 >, T, N >, T, Dim12, i, j > operator() (const Number< N > n1, const Index< i, Dim12 > index1, const Index< j, Dim12 > index2) const
 
template<char i, char j, int Dim0, int Dim2>
Tensor2_Expr< const Christof_numeral_1< const Christof< T *, Tensor_Dim0, Tensor_Dim12 >, T >, T, Dim0, Dim2, i, j > operator() (const Index< i, Dim0 > index1, const int N, const Index< j, Dim2 > index2) const
 
template<char i, char j, int Dim0, int Dim2>
Tensor2_Expr< const Christof_numeral_1< const Christof< T *, Tensor_Dim0, Tensor_Dim12 >, T >, T, Dim0, Dim2, i, j > operator() (const Index< i, Dim0 > index1, const Index< j, Dim2 > index2, const int N) const
 
const Christof< T *, Tensor_Dim0, Tensor_Dim12 > & operator++ () const
 

Additional Inherited Members

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

Detailed Description

template<class T, int Tensor_Dim0, int Tensor_Dim12, int I>
class FTensor::Christof< PackPtr< T *, I >, Tensor_Dim0, Tensor_Dim12 >

Definition at line 258 of file Christof_pointer.hpp.

Constructor & Destructor Documentation

◆ Christof() [1/2]

template<class T , int Tensor_Dim0, int Tensor_Dim12, int I>
template<class... U>
FTensor::Christof< PackPtr< T *, I >, Tensor_Dim0, Tensor_Dim12 >::Christof ( U *...  d)

Definition at line 264 of file Christof_pointer.hpp.

264 : Christof<T *, Tensor_Dim0, Tensor_Dim12>(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

◆ Christof() [2/2]

template<class T , int Tensor_Dim0, int Tensor_Dim12, int I>
FTensor::Christof< PackPtr< T *, I >, Tensor_Dim0, Tensor_Dim12 >::Christof ( )

Definition at line 266 of file Christof_pointer.hpp.

266 : Christof<T *, Tensor_Dim0, Tensor_Dim12>() {}

Member Function Documentation

◆ operator++()

template<class T , int Tensor_Dim0, int Tensor_Dim12, int I>
const Christof<PackPtr<T *, I>, Tensor_Dim0, Tensor_Dim12>& FTensor::Christof< PackPtr< T *, I >, Tensor_Dim0, Tensor_Dim12 >::operator++ ( ) const

Definition at line 272 of file Christof_pointer.hpp.

272  {
273  for (int i = 0; i < Tensor_Dim0; ++i)
274  for (int j = 0; j < (Tensor_Dim12 * (Tensor_Dim12 + 1)) / 2; ++j)
276  return *this;
277  }
T *restrict data[Tensor_Dim0][(Tensor_Dim12 *(Tensor_Dim12+1))/2]

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