v0.6.10
Public Member Functions | Private Member Functions | Private Attributes | List of all members
FTensor::Tensor2< T, Tensor_Dim0, Tensor_Dim1, layout > Class Template Reference

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

Public Member Functions

 Tensor2 (T d00, T d01, T d10, T d11)
 
 Tensor2 (T d00, T d01, T d02, T d10, T d11, T d12, T d20, T d21, T d22)
 
 Tensor2 (T d00, T d01, T d10, T d11, T d20, T d21)
 
 Tensor2 (T d00, T d01, T d02, T d03, T d10, T d11, T d12, T d13, T d20, T d21, T d22, T d23, T d30, T d31, T d32, T d33)
 
 Tensor2 ()
 
T & operator() (const int N1, const int N2)
 
operator() (const int N1, const int N2) const
 
template<char i, char j, int Dim0, int Dim1>
Tensor2_Expr< Tensor2< T, Tensor_Dim0, Tensor_Dim1, layout >, T, Dim0, Dim1, i, j > operator() (const Index< i, Dim0 >, const Index< j, Dim1 >)
 
template<char i, char j, int Dim0, int Dim1>
Tensor2_Expr< const Tensor2< T, Tensor_Dim0, Tensor_Dim1, layout >, T, Dim0, Dim1, i, j > operator() (const Index< i, Dim0 >, const Index< j, Dim1 >) const
 
template<char i, int Dim, int N>
Tensor1_Expr< Tensor2_number_rhs_1< Tensor2< T, Tensor_Dim0, Tensor_Dim1, layout >, T, N >, T, Dim, i > operator() (const Index< i, Dim >, const Number< N >)
 
template<char i, int Dim, int N>
Tensor1_Expr< Tensor2_number_rhs_0< Tensor2< T, Tensor_Dim0, Tensor_Dim1, layout >, T, N >, T, Dim, i > operator() (const Number< N >, const Index< i, Dim >)
 
template<char i, int Dim, int N>
Tensor1_Expr< const Tensor2_number_1< const Tensor2< T, Tensor_Dim0, Tensor_Dim1, layout >, T, N >, T, Dim, i > operator() (const Index< i, Dim >, const Number< N >) const
 
template<char i, int Dim, int N>
Tensor1_Expr< const Tensor2_number_0< const Tensor2< T, Tensor_Dim0, Tensor_Dim1, layout >, T, N >, T, Dim, i > operator() (const Number< N >, const Index< i, Dim >) const
 
template<char i, int Dim>
Tensor1_Expr< const Tensor2_numeral_1< const Tensor2< T, Tensor_Dim0, Tensor_Dim1 >, T >, T, Dim, i > operator() (const Index< i, Dim >, const int N) const
 
template<char i, int Dim>
Tensor1_Expr< const Tensor2_numeral_0< const Tensor2< T, Tensor_Dim0, Tensor_Dim1 >, T >, T, Dim, i > operator() (const int N, const Index< i, Dim >) const
 
template<char i, int Dim>
operator() (const Index< i, Dim >, const Index< i, Dim >)
 
template<char i, int Dim>
operator() (const Index< i, Dim >, const Index< i, Dim >) const
 

Private Member Functions

template<int N>
internal_contract (Number< N >)
 
internal_contract (Number< 1 >)
 

Private Attributes

data [(layout==column_major) ? Tensor_Dim0 :Tensor_Dim1][(layout==column_major) ? Tensor_Dim1 :Tensor_Dim0]
 

Detailed Description

template<class T, int Tensor_Dim0, int Tensor_Dim1, Layout layout>
class FTensor::Tensor2< T, Tensor_Dim0, Tensor_Dim1, layout >

Definition at line 50 of file FTensor.hpp.

Constructor & Destructor Documentation

◆ Tensor2() [1/5]

template<class T, int Tensor_Dim0, int Tensor_Dim1, Layout layout>
FTensor::Tensor2< T, Tensor_Dim0, Tensor_Dim1, layout >::Tensor2 ( d00,
d01,
d10,
d11 
)

Definition at line 15 of file FTensor.hpp.

42  {

◆ Tensor2() [2/5]

template<class T, int Tensor_Dim0, int Tensor_Dim1, Layout layout>
FTensor::Tensor2< T, Tensor_Dim0, Tensor_Dim1, layout >::Tensor2 ( d00,
d01,
d02,
d10,
d11,
d12,
d20,
d21,
d22 
)

Definition at line 20 of file FTensor.hpp.

42  {

◆ Tensor2() [3/5]

template<class T, int Tensor_Dim0, int Tensor_Dim1, Layout layout>
FTensor::Tensor2< T, Tensor_Dim0, Tensor_Dim1, layout >::Tensor2 ( d00,
d01,
d10,
d11,
d20,
d21 
)

Definition at line 25 of file FTensor.hpp.

42  {

◆ Tensor2() [4/5]

template<class T, int Tensor_Dim0, int Tensor_Dim1, Layout layout>
FTensor::Tensor2< T, Tensor_Dim0, Tensor_Dim1, layout >::Tensor2 ( d00,
d01,
d02,
d03,
d10,
d11,
d12,
d13,
d20,
d21,
d22,
d23,
d30,
d31,
d32,
d33 
)

Definition at line 30 of file FTensor.hpp.

42  {

◆ Tensor2() [5/5]

template<class T, int Tensor_Dim0, int Tensor_Dim1, Layout layout>
FTensor::Tensor2< T, Tensor_Dim0, Tensor_Dim1, layout >::Tensor2 ( )

Definition at line 36 of file FTensor.hpp.

37 ://www.wlandry.net/Presentations/FTensor.pdf>.

Member Function Documentation

◆ internal_contract() [1/2]

template<class T, int Tensor_Dim0, int Tensor_Dim1, Layout layout>
template<int N>
T FTensor::Tensor2< T, Tensor_Dim0, Tensor_Dim1, layout >::internal_contract ( Number< N )
private

Definition at line 183 of file FTensor.hpp.

◆ internal_contract() [2/2]

template<class T, int Tensor_Dim0, int Tensor_Dim1, Layout layout>
T FTensor::Tensor2< T, Tensor_Dim0, Tensor_Dim1, layout >::internal_contract ( Number< 1 >  )
private

Definition at line 188 of file FTensor.hpp.

◆ operator()() [1/12]

template<class T, int Tensor_Dim0, int Tensor_Dim1, Layout layout>
T& FTensor::Tensor2< T, Tensor_Dim0, Tensor_Dim1, layout >::operator() ( const int  N1,
const int  N2 
)

Definition at line 41 of file FTensor.hpp.

42  {
43 
44  template <class T> class Tensor0;
45 
46  template <class T, int Dim> class Tensor1;
47  template<class A, class T, int Dim, char i> class Tensor1_Expr;
48 
49  template <class T, int Dim1, int Dim2, Layout layout=column_major>
50  class Tensor2;
51  template<class A, class T, int Dim1, int Dim2, char i, char j>
52  class Tensor2_Expr;
53  template<class A, class T, int N>
55  template<class A, class T, int N>

◆ operator()() [2/12]

template<class T, int Tensor_Dim0, int Tensor_Dim1, Layout layout>
T FTensor::Tensor2< T, Tensor_Dim0, Tensor_Dim1, layout >::operator() ( const int  N1,
const int  N2 
) const

Definition at line 57 of file FTensor.hpp.

◆ operator()() [3/12]

template<class T, int Tensor_Dim0, int Tensor_Dim1, Layout layout>
template<char i, char j, int Dim0, int Dim1>
Tensor2_Expr<Tensor2<T,Tensor_Dim0,Tensor_Dim1,layout>,T,Dim0,Dim1,i,j> FTensor::Tensor2< T, Tensor_Dim0, Tensor_Dim1, layout >::operator() ( const Index< i, Dim0 >  ,
const Index< j, Dim1 >   
)

Definition at line 80 of file FTensor.hpp.

◆ operator()() [4/12]

template<class T, int Tensor_Dim0, int Tensor_Dim1, Layout layout>
template<char i, char j, int Dim0, int Dim1>
Tensor2_Expr<const Tensor2<T,Tensor_Dim0,Tensor_Dim1,layout>,T,Dim0,Dim1,i,j> FTensor::Tensor2< T, Tensor_Dim0, Tensor_Dim1, layout >::operator() ( const Index< i, Dim0 >  ,
const Index< j, Dim1 >   
) const

Definition at line 88 of file FTensor.hpp.

◆ operator()() [5/12]

template<class T, int Tensor_Dim0, int Tensor_Dim1, Layout layout>
template<char i, int Dim, int N>
Tensor1_Expr<Tensor2_number_rhs_1<Tensor2<T,Tensor_Dim0,Tensor_Dim1,layout>, T,N>,T,Dim,i> FTensor::Tensor2< T, Tensor_Dim0, Tensor_Dim1, layout >::operator() ( const Index< i, Dim >  ,
const Number< N  
)

Definition at line 104 of file FTensor.hpp.

◆ operator()() [6/12]

template<class T, int Tensor_Dim0, int Tensor_Dim1, Layout layout>
template<char i, int Dim, int N>
Tensor1_Expr<Tensor2_number_rhs_0<Tensor2<T,Tensor_Dim0,Tensor_Dim1,layout>, T,N>,T,Dim,i> FTensor::Tensor2< T, Tensor_Dim0, Tensor_Dim1, layout >::operator() ( const Number< N ,
const Index< i, Dim >   
)

Definition at line 114 of file FTensor.hpp.

◆ operator()() [7/12]

template<class T, int Tensor_Dim0, int Tensor_Dim1, Layout layout>
template<char i, int Dim, int N>
Tensor1_Expr<const Tensor2_number_1<const Tensor2<T,Tensor_Dim0,Tensor_Dim1,layout>, T,N>,T,Dim,i> FTensor::Tensor2< T, Tensor_Dim0, Tensor_Dim1, layout >::operator() ( const Index< i, Dim >  ,
const Number< N  
) const

Definition at line 124 of file FTensor.hpp.

◆ operator()() [8/12]

template<class T, int Tensor_Dim0, int Tensor_Dim1, Layout layout>
template<char i, int Dim, int N>
Tensor1_Expr<const Tensor2_number_0<const Tensor2<T,Tensor_Dim0,Tensor_Dim1,layout>, T,N>,T,Dim,i> FTensor::Tensor2< T, Tensor_Dim0, Tensor_Dim1, layout >::operator() ( const Number< N ,
const Index< i, Dim >   
) const

Definition at line 134 of file FTensor.hpp.

◆ operator()() [9/12]

template<class T, int Tensor_Dim0, int Tensor_Dim1, Layout layout>
template<char i, int Dim>
Tensor1_Expr<const Tensor2_numeral_1<const Tensor2 <T,Tensor_Dim0,Tensor_Dim1>,T>,T,Dim,i> FTensor::Tensor2< T, Tensor_Dim0, Tensor_Dim1, layout >::operator() ( const Index< i, Dim >  ,
const int  N 
) const

Definition at line 148 of file FTensor.hpp.

◆ operator()() [10/12]

template<class T, int Tensor_Dim0, int Tensor_Dim1, Layout layout>
template<char i, int Dim>
Tensor1_Expr<const Tensor2_numeral_0<const Tensor2 <T,Tensor_Dim0,Tensor_Dim1>,T>,T,Dim,i> FTensor::Tensor2< T, Tensor_Dim0, Tensor_Dim1, layout >::operator() ( const int  N,
const Index< i, Dim >   
) const

Definition at line 158 of file FTensor.hpp.

◆ operator()() [11/12]

template<class T, int Tensor_Dim0, int Tensor_Dim1, Layout layout>
template<char i, int Dim>
T FTensor::Tensor2< T, Tensor_Dim0, Tensor_Dim1, layout >::operator() ( const Index< i, Dim >  ,
const Index< i, Dim >   
)

Definition at line 171 of file FTensor.hpp.

◆ operator()() [12/12]

template<class T, int Tensor_Dim0, int Tensor_Dim1, Layout layout>
template<char i, int Dim>
T FTensor::Tensor2< T, Tensor_Dim0, Tensor_Dim1, layout >::operator() ( const Index< i, Dim >  ,
const Index< i, Dim >   
) const

Definition at line 177 of file FTensor.hpp.

Member Data Documentation

◆ data

template<class T, int Tensor_Dim0, int Tensor_Dim1, Layout layout>
T FTensor::Tensor2< T, Tensor_Dim0, Tensor_Dim1, layout >::data[(layout==column_major) ? Tensor_Dim0 :Tensor_Dim1][(layout==column_major) ? Tensor_Dim1 :Tensor_Dim0]
private

Definition at line 9 of file FTensor.hpp.


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