v0.14.0
Public Types | Public Member Functions | Public Attributes | List of all members
EigenMatrix::GetDiffMatImpl< E, C, T > Struct Template Reference

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

Collaboration diagram for EigenMatrix::GetDiffMatImpl< E, C, T >:
[legend]

Public Types

using Val = typename E::Val
 
using Vec = typename E::Vec
 
using Fun = typename E::Fun
 
using NumberNb = typename E::NumberNb
 
using NumberDim = typename E::NumberDim
 
template<int N>
using Number = FTensor::Number< N >
 

Public Member Functions

 GetDiffMatImpl (E &e, T &t_a)
 
template<int i, int j, int k, int l>
void set (const Number< i > &, const Number< j > &, const Number< k > &, const Number< l > &)
 
template<int j, int k, int l>
void set (const Number< 1 > &, const Number< j > &, const Number< k > &, const Number< l > &)
 
template<int k, int l>
void set (const Number< 1 > &, const Number< 1 > &, const Number< k > &, const Number< l > &)
 
template<int l>
void set (const Number< 1 > &, const Number< 1 > &, const Number< 1 > &, const Number< l > &)
 
void set (const Number< 1 > &, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &)
 

Public Attributes

FirstMatrixDirectiveImpl< E, C > r
 
T & tA
 

Detailed Description

template<typename E, typename C, typename T>
struct EigenMatrix::GetDiffMatImpl< E, C, T >

Definition at line 529 of file MatrixFunctionTemplate.hpp.

Member Typedef Documentation

◆ Fun

template<typename E , typename C , typename T >
using EigenMatrix::GetDiffMatImpl< E, C, T >::Fun = typename E::Fun

Definition at line 532 of file MatrixFunctionTemplate.hpp.

◆ Number

template<typename E , typename C , typename T >
template<int N>
using EigenMatrix::GetDiffMatImpl< E, C, T >::Number = FTensor::Number<N>

Definition at line 537 of file MatrixFunctionTemplate.hpp.

◆ NumberDim

template<typename E , typename C , typename T >
using EigenMatrix::GetDiffMatImpl< E, C, T >::NumberDim = typename E::NumberDim

Definition at line 535 of file MatrixFunctionTemplate.hpp.

◆ NumberNb

template<typename E , typename C , typename T >
using EigenMatrix::GetDiffMatImpl< E, C, T >::NumberNb = typename E::NumberNb

Definition at line 534 of file MatrixFunctionTemplate.hpp.

◆ Val

template<typename E , typename C , typename T >
using EigenMatrix::GetDiffMatImpl< E, C, T >::Val = typename E::Val

Definition at line 530 of file MatrixFunctionTemplate.hpp.

◆ Vec

template<typename E , typename C , typename T >
using EigenMatrix::GetDiffMatImpl< E, C, T >::Vec = typename E::Vec

Definition at line 531 of file MatrixFunctionTemplate.hpp.

Constructor & Destructor Documentation

◆ GetDiffMatImpl()

template<typename E , typename C , typename T >
EigenMatrix::GetDiffMatImpl< E, C, T >::GetDiffMatImpl ( E e,
T &  t_a 
)
inline

Definition at line 539 of file MatrixFunctionTemplate.hpp.

539 : r(e), tA(t_a) {}

Member Function Documentation

◆ set() [1/5]

template<typename E , typename C , typename T >
void EigenMatrix::GetDiffMatImpl< E, C, T >::set ( const Number< 1 > &  ,
const Number< 1 > &  ,
const Number< 1 > &  ,
const Number< 1 > &   
)
inline

Definition at line 587 of file MatrixFunctionTemplate.hpp.

588  {
589 
590  tA(Number<0>(), Number<0>(), Number<0>(), Number<0>()) =
591  r.eval(NumberDim(), Number<0>(), Number<0>(), Number<0>(), Number<0>());
592  }

◆ set() [2/5]

template<typename E , typename C , typename T >
template<int l>
void EigenMatrix::GetDiffMatImpl< E, C, T >::set ( const Number< 1 > &  ,
const Number< 1 > &  ,
const Number< 1 > &  ,
const Number< l > &   
)
inline

Definition at line 577 of file MatrixFunctionTemplate.hpp.

578  {
579 
580  tA(Number<0>(), Number<0>(), Number<0>(), Number<l - 1>()) =
581  r.eval(NumberDim(), Number<0>(), Number<0>(), Number<0>(),
582  Number<l - 1>());
583 
584  set(NumberDim(), NumberDim(), Number<l - 1>(), Number<l - 1>());
585  }

◆ set() [3/5]

template<typename E , typename C , typename T >
template<int k, int l>
void EigenMatrix::GetDiffMatImpl< E, C, T >::set ( const Number< 1 > &  ,
const Number< 1 > &  ,
const Number< k > &  ,
const Number< l > &   
)
inline

Definition at line 566 of file MatrixFunctionTemplate.hpp.

567  {
568 
569  tA(Number<0>(), Number<0>(), Number<k - 1>(), Number<l - 1>()) =
570  r.eval(NumberDim(), Number<0>(), Number<0>(), Number<k - 1>(),
571  Number<l - 1>());
572 
573  set(NumberDim(), NumberDim(), Number<k - 1>(), Number<l>());
574  }

◆ set() [4/5]

template<typename E , typename C , typename T >
template<int j, int k, int l>
void EigenMatrix::GetDiffMatImpl< E, C, T >::set ( const Number< 1 > &  ,
const Number< j > &  ,
const Number< k > &  ,
const Number< l > &   
)
inline

Definition at line 555 of file MatrixFunctionTemplate.hpp.

556  {
557 
558  tA(Number<0>(), Number<j - 1>(), Number<k - 1>(), Number<l - 1>()) =
559  r.eval(NumberDim(), Number<0>(), Number<j - 1>(), Number<k - 1>(),
560  Number<l - 1>());
561 
562  set(Number<j - 1>(), Number<j - 1>(), Number<k>(), Number<l>());
563  }

◆ set() [5/5]

template<typename E , typename C , typename T >
template<int i, int j, int k, int l>
void EigenMatrix::GetDiffMatImpl< E, C, T >::set ( const Number< i > &  ,
const Number< j > &  ,
const Number< k > &  ,
const Number< l > &   
)
inline

Definition at line 544 of file MatrixFunctionTemplate.hpp.

545  {
546 
547  tA(Number<i - 1>(), Number<j - 1>(), Number<k - 1>(), Number<l - 1>()) =
548  r.eval(NumberDim(), Number<i - 1>(), Number<j - 1>(), Number<k - 1>(),
549  Number<l - 1>());
550 
551  set(Number<i - 1>(), Number<j>(), Number<k>(), Number<l>());
552  }

Member Data Documentation

◆ r

template<typename E , typename C , typename T >
FirstMatrixDirectiveImpl<E, C> EigenMatrix::GetDiffMatImpl< E, C, T >::r

Definition at line 540 of file MatrixFunctionTemplate.hpp.

◆ tA

template<typename E , typename C , typename T >
T& EigenMatrix::GetDiffMatImpl< E, C, T >::tA

Definition at line 541 of file MatrixFunctionTemplate.hpp.


The documentation for this struct was generated from the following file:
EigenMatrix::GetDiffMatImpl::r
FirstMatrixDirectiveImpl< E, C > r
Definition: MatrixFunctionTemplate.hpp:540
EigenMatrix::GetDiffMatImpl::NumberDim
typename E::NumberDim NumberDim
Definition: MatrixFunctionTemplate.hpp:535
EigenMatrix::GetDiffMatImpl::set
void set(const Number< i > &, const Number< j > &, const Number< k > &, const Number< l > &)
Definition: MatrixFunctionTemplate.hpp:544
EigenMatrix::GetDiffMatImpl::tA
T & tA
Definition: MatrixFunctionTemplate.hpp:541