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

#include <src/ftensor/src/FTensor/Tensor3/Tensor3_pointer.hpp>

Inheritance diagram for FTensor::Tensor3< PackPtr< T *, I >, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >:
[legend]
Collaboration diagram for FTensor::Tensor3< PackPtr< T *, I >, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >:
[legend]

Public Member Functions

 Tensor3 ()
 
template<class... U>
 Tensor3 (U *...d)
 
template<class U >
 Tensor3 (std::array< U *, Tensor_Dim0 *Tensor_Dim1 *Tensor_Dim2 > &a)
 
template<int Current_Dim0, int Current_Dim1, int Current_Dim2>
void increment (const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &) const
 
const Tensor3operator++ () const
 
- Public Member Functions inherited from FTensor::Tensor3< T *, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >
 Tensor3 ()
 
 Tensor3 (T *d000, T *d001, T *d010, T *d011, T *d100, T *d101, T *d110, T *d111, const int i)
 
 Tensor3 (T *d000, T *d001, T *d002, T *d010, T *d011, T *d012, T *d020, T *d021, T *d022, T *d100, T *d101, T *d102, T *d110, T *d111, T *d112, T *d120, T *d121, T *d122, T *d200, T *d201, T *d202, T *d210, T *d211, T *d212, T *d220, T *d221, T *d222, const int i)
 
 Tensor3 (T *d000, T *d001, T *d002, T *d003, T *d010, T *d011, T *d012, T *d013, T *d020, T *d021, T *d022, T *d023, T *d030, T *d031, T *d032, T *d033, T *d100, T *d101, T *d102, T *d103, T *d110, T *d111, T *d112, T *d113, T *d120, T *d121, T *d122, T *d123, T *d130, T *d131, T *d132, T *d133, T *d200, T *d201, T *d202, T *d203, T *d210, T *d211, T *d212, T *d213, T *d220, T *d221, T *d222, T *d223, T *d230, T *d231, T *d232, T *d233, T *d300, T *d301, T *d302, T *d303, T *d310, T *d311, T *d312, T *d313, T *d320, T *d321, T *d322, T *d323, T *d330, T *d331, T *d332, T *d333, const int i)
 
template<class... U>
 Tensor3 (U *...d)
 
template<class U >
 Tensor3 (std::array< U *, Tensor_Dim0 *Tensor_Dim1 *Tensor_Dim2 > &a, const int i=1)
 
T & operator() (const int N1, const int N2, const int N3)
 
operator() (const int N1, const int N2, const int N3) const
 
template<char i, char j, char k, int Dim0, int Dim1, int Dim2>
Tensor3_Expr< Tensor3< T *, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >, T, Dim0, Dim1, Dim2, i, j, koperator() (const Index< i, Dim0 >, const Index< j, Dim1 >, const Index< k, Dim2 >)
 
template<char i, char j, char k, int Dim0, int Dim1, int Dim2>
Tensor3_Expr< const Tensor3< T *, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >, T, Dim0, Dim1, Dim2, i, j, koperator() (const Index< i, Dim0 >, const Index< j, Dim1 >, const Index< k, Dim2 >) const
 
template<int Current_Dim0, int Current_Dim1, int Current_Dim2>
void increment (const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &) const
 
const Tensor3operator++ () const
 

Additional Inherited Members

- Protected Attributes inherited from FTensor::Tensor3< T *, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >
T *restrict data [Tensor_Dim0][Tensor_Dim1][Tensor_Dim2]
 

Detailed Description

template<class T, int Tensor_Dim0, int Tensor_Dim1, int Tensor_Dim2, int I>
class FTensor::Tensor3< PackPtr< T *, I >, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >

Definition at line 197 of file Tensor3_pointer.hpp.

Constructor & Destructor Documentation

◆ Tensor3() [1/3]

template<class T , int Tensor_Dim0, int Tensor_Dim1, int Tensor_Dim2, int I>
FTensor::Tensor3< PackPtr< T *, I >, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >::Tensor3 ( )
inline

Definition at line 201 of file Tensor3_pointer.hpp.

201 {}

◆ Tensor3() [2/3]

template<class T , int Tensor_Dim0, int Tensor_Dim1, int Tensor_Dim2, int I>
template<class... U>
FTensor::Tensor3< PackPtr< T *, I >, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >::Tensor3 ( U *...  d)
inline

Definition at line 205 of file Tensor3_pointer.hpp.

206  : Tensor3<T *, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2>{d...} {}

◆ Tensor3() [3/3]

template<class T , int Tensor_Dim0, int Tensor_Dim1, int Tensor_Dim2, int I>
template<class U >
FTensor::Tensor3< PackPtr< T *, I >, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >::Tensor3 ( std::array< U *, Tensor_Dim0 *Tensor_Dim1 *Tensor_Dim2 > &  a)
inline

Definition at line 209 of file Tensor3_pointer.hpp.

210  : Tensor3<T *, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2>(a) {}

Member Function Documentation

◆ increment()

template<class T , int Tensor_Dim0, int Tensor_Dim1, int Tensor_Dim2, int I>
template<int Current_Dim0, int Current_Dim1, int Current_Dim2>
void FTensor::Tensor3< PackPtr< T *, I >, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >::increment ( const Number< Current_Dim0 > &  ,
const Number< Current_Dim1 > &  ,
const Number< Current_Dim2 > &   
) const
inline

Definition at line 216 of file Tensor3_pointer.hpp.

218  {
219  Tensor3<T *, Tensor_Dim0, Tensor_Dim1,
220  Tensor_Dim2>::data[Current_Dim0 - 1][Current_Dim1 - 1]
221  [Current_Dim2 - 1] += I;
222  }

◆ operator++()

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

Definition at line 224 of file Tensor3_pointer.hpp.

224  {
225  T3_increment(*this, Number<Tensor_Dim0>(), Number<Tensor_Dim1>(),
226  Number<Tensor_Dim2>());
227  return *this;
228  }

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
I
constexpr IntegrationType I
Definition: operators_tests.cpp:31
a
constexpr double a
Definition: approx_sphere.cpp:30
FTensor::T3_increment
void T3_increment(const Tensor3< T, Dim0, Dim1, Dim2 > &iter, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &)
Definition: Tensor3_pointer.hpp:8
FTensor::Tensor3< T *, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >::data
T *restrict data[Tensor_Dim0][Tensor_Dim1][Tensor_Dim2]
Definition: Tensor3_pointer.hpp:49
FTensor::Tensor3< PackPtr< T *, I >, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >::Tensor3
Tensor3()
Definition: Tensor3_pointer.hpp:201