v0.14.0
Public Member Functions | List of all members
FTensor::Dg< PackPtr< T *, I >, Tensor_Dim01, Tensor_Dim2 > Class Template Reference

#include <src/ftensor/src/FTensor/Dg/Dg_pointer.hpp>

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

Public Member Functions

template<class... U>
 Dg (U *... d)
 
 Dg ()
 
const Dgoperator++ () const
 
- Public Member Functions inherited from FTensor::Dg< T *, Tensor_Dim01, Tensor_Dim2 >
template<class... U>
 Dg (U *... d)
 
 Dg ()
 
T & operator() (const int N1, const int N2, const int N3)
 
operator() (const int N1, const int N2, const int N3) const
 
T * ptr (const int N1, const int N2, const int N3) const
 
template<char i, char j, char k, int Dim01, int Dim2>
Dg_Expr< Dg< T *, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, koperator() (const Index< i, Dim01 > index1, const Index< j, Dim01 > index2, const Index< k, Dim2 > index3)
 
template<char i, char j, char k, int Dim01, int Dim2>
Dg_Expr< const Dg< T *, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, koperator() (const Index< i, Dim01 > index1, const Index< j, Dim01 > index2, const Index< k, Dim2 > index3) const
 
template<char i, char j, int Dim>
Tensor1_Expr< const Tensor3_contracted_12< Dg< T *, Tensor_Dim01, Tensor_Dim2 >, T, Dim >, T, Dim, ioperator() (const Index< i, Dim > index1, const Index< j, Dim > index2, const Index< j, Dim > index3) const
 
template<char i, char j, int Dim>
Tensor1_Expr< const Tensor3_contracted_02< Dg< T *, Tensor_Dim01, Tensor_Dim2 >, T, Dim >, T, Dim, ioperator() (const Index< j, Dim > index1, const Index< i, Dim > index2, const Index< j, Dim > index3) const
 
template<char i, char j, int Dim01, int Dim2>
Tensor1_Expr< const Tensor3_contracted_01< Dg< T *, Tensor_Dim01, Tensor_Dim2 >, T, Dim01 >, T, Dim2, ioperator() (const Index< j, Dim01 > index1, const Index< j, Dim01 > index2, const Index< i, Dim2 > index3) const
 
template<char i, char j, int N, int Dim1, int Dim2>
Tensor2_Expr< Dg_number_rhs_0< Dg< T *, Tensor_Dim01, Tensor_Dim2 >, T, N >, T, Dim1, Dim2, i, joperator() (const Number< N > n1, const Index< i, Dim1 > index1, const Index< j, Dim2 > index2)
 
template<char i, char j, int N, int Dim1, int Dim2>
const Tensor2_Expr< const Dg_number_0< const Dg< T *, Tensor_Dim01, Tensor_Dim2 >, T, N >, T, Dim1, Dim2, i, joperator() (const Number< N > n1, const Index< i, Dim1 > index1, const Index< j, Dim2 > index2) const
 
template<char i, char j, int N, int Dim0, int Dim2>
Tensor2_Expr< Dg_number_rhs_0< Dg< T *, Tensor_Dim01, Tensor_Dim2 >, T, N >, T, Dim0, Dim2, i, joperator() (const Index< i, Dim0 > index1, const Number< N > n1, const Index< j, Dim2 > index2)
 
template<char i, char j, int N, int Dim0, int Dim2>
const Tensor2_Expr< const Dg_number_0< const Dg< T *, Tensor_Dim01, Tensor_Dim2 >, T, N >, T, Dim0, Dim2, i, joperator() (const Index< i, Dim0 > index1, const Number< N > n1, const Index< j, Dim2 > index2) const
 
template<char i, char j, int N, int Dim>
Tensor2_symmetric_Expr< Dg_number_rhs_2< Dg< T *, Tensor_Dim01, Tensor_Dim2 >, T, N >, T, Dim, i, joperator() (const Index< i, Dim > index1, const Index< j, Dim > index2, const Number< N > n1)
 
template<char i, char j, int N, int Dim>
const Tensor2_symmetric_Expr< const Dg_number_2< const Dg< T *, Tensor_Dim01, Tensor_Dim2 >, T, N >, T, Dim, i, joperator() (const Index< i, Dim > index1, const Index< j, Dim > index2, const Number< N > n1) const
 
template<char i, int N1, int N2, int Dim>
Tensor1_Expr< Dg_number_rhs_12< Dg< T *, Tensor_Dim01, Tensor_Dim2 >, T, N1, N2 >, T, Dim, ioperator() (const Index< i, Dim > index, const Number< N1 > n1, const Number< N2 > n2)
 
template<char i, int N1, int N2, int Dim>
const Tensor1_Expr< const Dg_number_12< const Dg< T *, Tensor_Dim01, Tensor_Dim2 >, T, N1, N2 >, T, Dim, ioperator() (const Index< i, Dim > index, const Number< N1 > n1, const Number< N2 > n2) const
 
template<char i, int N1, int N2, int Dim>
Tensor1_Expr< Dg_number_rhs_12< Dg< T *, Tensor_Dim01, Tensor_Dim2 >, T, N1, N2 >, T, Dim, ioperator() (const Number< N1 > n1, const Index< i, Dim > index, const Number< N2 > n2)
 
template<char i, int N1, int N2, int Dim>
const Tensor1_Expr< const Dg_number_12< const Dg< T *, Tensor_Dim01, Tensor_Dim2 >, T, N1, N2 >, T, Dim, ioperator() (const Number< N1 > n1, const Index< i, Dim > index, const Number< N2 > n2) const
 
template<char i, int N1, int N2, int Dim>
Tensor1_Expr< Dg_number_rhs_01< Dg< T *, Tensor_Dim01, Tensor_Dim2 >, T, N1, N2 >, T, Dim, ioperator() (const Number< N1 > n1, const Number< N2 > n2, const Index< i, Dim > index)
 
template<char i, int N1, int N2, int Dim>
const Tensor1_Expr< const Dg_number_01< const Dg< T *, Tensor_Dim01, Tensor_Dim2 >, T, N1, N2 >, T, Dim, ioperator() (const Number< N1 > n1, const Number< N2 > n2, const Index< i, Dim > index) const
 
template<char i, char j, int Dim1, int Dim2>
const Tensor2_Expr< const Dg_numeral_0< const Dg< T *, Tensor_Dim01, Tensor_Dim2 >, T >, T, Dim1, Dim2, i, joperator() (const int N, const Index< i, Dim1 > index1, const Index< j, Dim2 > index2) const
 
template<char i, char j, int Dim0, int Dim2>
const Tensor2_Expr< const Dg_numeral_0< const Dg< T *, Tensor_Dim01, Tensor_Dim2 >, T >, T, Dim0, Dim2, i, joperator() (const Index< i, Dim0 > index1, const int N, const Index< j, Dim2 > index2) const
 
template<char i, char j, int Dim>
const Tensor2_symmetric_Expr< const Dg_numeral_2< const Dg< T *, Tensor_Dim01, Tensor_Dim2 >, T >, T, Dim, i, joperator() (const Index< i, Dim > index1, const Index< j, Dim > index2, const int N) const
 
template<char i, int Dim>
const Tensor1_Expr< const Dg_numeral_12< const Dg< T *, Tensor_Dim01, Tensor_Dim2 >, T >, T, Dim, ioperator() (const Index< i, Dim > index, const int N1, const int N2) const
 
template<char i, int Dim>
const Tensor1_Expr< const Dg_numeral_12< const Dg< T *, Tensor_Dim01, Tensor_Dim2 >, T >, T, Dim, ioperator() (const int N1, const Index< i, Dim > index, const int N2) const
 
template<char i, int Dim>
const Tensor1_Expr< const Dg_numeral_01< const Dg< T *, Tensor_Dim01, Tensor_Dim2 >, T >, T, Dim, ioperator() (const int N1, const int N2, const Index< i, Dim > index) const
 
const Dg< T *, Tensor_Dim01, Tensor_Dim2 > & operator++ () const
 

Additional Inherited Members

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

Detailed Description

template<class T, int Tensor_Dim01, int Tensor_Dim2, int I>
class FTensor::Dg< PackPtr< T *, I >, Tensor_Dim01, Tensor_Dim2 >

Definition at line 439 of file Dg_pointer.hpp.

Constructor & Destructor Documentation

◆ Dg() [1/2]

template<class T , int Tensor_Dim01, int Tensor_Dim2, int I>
template<class... U>
FTensor::Dg< PackPtr< T *, I >, Tensor_Dim01, Tensor_Dim2 >::Dg ( U *...  d)
inline

Definition at line 444 of file Dg_pointer.hpp.

444 : Dg<T *, Tensor_Dim01, Tensor_Dim2>(d...) {}

◆ Dg() [2/2]

template<class T , int Tensor_Dim01, int Tensor_Dim2, int I>
FTensor::Dg< PackPtr< T *, I >, Tensor_Dim01, Tensor_Dim2 >::Dg ( )
inline

Definition at line 446 of file Dg_pointer.hpp.

446 : Dg<T *, Tensor_Dim01, Tensor_Dim2>() {}

Member Function Documentation

◆ operator++()

template<class T , int Tensor_Dim01, int Tensor_Dim2, int I>
const Dg& FTensor::Dg< PackPtr< T *, I >, Tensor_Dim01, Tensor_Dim2 >::operator++ ( ) const
inline

Definition at line 451 of file Dg_pointer.hpp.

451  {
452  for (int i = 0; i < (Tensor_Dim01 * (Tensor_Dim01 + 1)) / 2; ++i)
453  for (int j = 0; j < Tensor_Dim2; ++j)
455  return *this;
456  }

The documentation for this class was generated from the following file:
FTensor::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
FTensor::Dg< T *, Tensor_Dim01, Tensor_Dim2 >::data
T *restrict data[(Tensor_Dim01 *(Tensor_Dim01+1))/2][Tensor_Dim2]
Definition: Dg_pointer.hpp:14
I
constexpr IntegrationType I
Definition: operators_tests.cpp:31
i
FTensor::Index< 'i', SPACE_DIM > i
Definition: hcurl_divergence_operator_2d.cpp:27
j
FTensor::Index< 'j', 3 > j
Definition: matrix_function.cpp:19