Class to add two SmET
.
More...
#include <Add.hpp>
|
static constexpr int | NSmET = 2 |
|
template<typename... _Refs>
class SUNphi::Adder< _Refs >
Class to add two SmET
.
Definition at line 20 of file Add.hpp.
template<typename... _Refs>
No Additional MergeDelims is included
Additional delimiters
Definition at line 55 of file Add.hpp.
template<typename... _Refs>
Obtains the Fund
type by calling the representativeFunction
Definition at line 57 of file Add.hpp.
template<typename... _Refs>
List of points where the TensKind
can be split
Using MergingDelimsForRefs
and ExtraDelims
to determine the mergability
Definition at line 57 of file Add.hpp.
template<typename... _Refs>
Position of all the Result TensComp
in each Refs
Tk
Definition at line 57 of file Add.hpp.
template<typename... _Refs>
Position of all the Result TensComp
present in each Refs
Tk
Definition at line 57 of file Add.hpp.
template<typename... _Refs>
template<int I>
template<typename... _Refs>
Type of the binding references
Definition at line 26 of file Add.hpp.
template<typename... _Refs>
TensKind
of the result
- Todo:
- Improve, the return type could be decided studying what suits best the computational
Definition at line 53 of file Add.hpp.
template<typename... _Refs>
template<typename... SMETS>
Constructor taking universal reference
Definition at line 59 of file Add.hpp.
template<typename... _Refs>
template<int... Is>
static decltype(auto) SUNphi::Adder< _Refs >::_fundThroughRepresentativeFunction |
( |
IntSeq< Is... > |
| ) |
|
|
inlinestatic |
Fundamental type according to the representativeFunction
Internal implementation, getting the type through a call to
the representativeFunction
passing by value the Fund
type of each ref, using an IntSeq
to call them
Definition at line 57 of file Add.hpp.
< Components to get
Evaluate the I-th reference, getting from the Tuple
targs the element Pos
Internal implementation
Definition at line 54 of file NnarySmET.hpp.
Overload the _refEvalByCompsName
const method passing all args
- Parameters
-
Definition at line 61 of file NnarySmET.hpp.
template<typename... _Refs>
template<typename Is , typename = EnableIf<isIntSeq<Is>>>
static constexpr void SUNphi::Adder< _Refs >::assertMergeableWith |
( |
| ) |
|
|
inlinestatic |
Assert that a given merging condition is valid
Definition at line 57 of file Add.hpp.
template<typename... _Refs>
template<typename TC , int I = 0>
template<typename... _Refs>
template<typename... Args>
decltype(auto) SUNphi::Adder< _Refs >::eval |
( |
Args &&... |
args | ) |
const |
|
inline |
Evaluator, external interface
Evaluate the function by usign a method called
representativeFunction
, to be provided in the clas
passing to it the evaluation of each individual reference,
dispatching the components id by the name they have in the
reference
Definition at line 57 of file Add.hpp.
template<typename... _Refs>
template<typename... Ts>
Overload the eval
const method passing all args
- Parameters
-
Definition at line 57 of file Add.hpp.
decltype(auto) SUNphi::NnarySmET< Adder< _Refs... > >::evalThroughRepresentativeFunctionPassingCompsByName |
( |
IntSeq< I... > |
, |
|
|
const Args &... |
args |
|
) |
| const |
|
inlineinherited |
< Components to get
Evaluate the result by calling a representative function
The result is obtained after splitting the components, identifying them trough the name of each TensComp
Definition at line 93 of file NnarySmET.hpp.
decltype(auto) SUNphi::NnarySmET< Adder< _Refs... > >::evalThroughRepresentativeFunctionPassingCompsByName |
( |
Ts &&... |
ts | ) |
|
|
inlineinherited |
Overload the evalThroughRepresentativeFunctionPassingCompsByName
const method passing all args
- Parameters
-
Definition at line 101 of file NnarySmET.hpp.
template<typename... _Refs>
decltype(auto) SUNphi::Adder< _Refs >::getMaximallyMergedCompsView |
( |
| ) |
|
|
inline |
Returns the maximal possible merged comps view
Definition at line 57 of file Add.hpp.
template<typename... _Refs>
template<typename Is >
decltype(auto) SUNphi::Adder< _Refs >::getMergedCompsView |
( |
| ) |
const |
|
inline |
Uses the representativeFunction
to provide a merged view
Definition at line 57 of file Add.hpp.
template<typename... _Refs>
template<typename... Ts>
decltype(auto) SUNphi::Adder< _Refs >::getMergedCompsView |
( |
Ts &&... |
ts | ) |
|
|
inline |
Overload the getMergedCompsView
const method passing all args
- Parameters
-
Definition at line 57 of file Add.hpp.
template<typename... _Refs>
template<typename Tref >
bool SUNphi::Adder< _Refs >::isAliasing |
( |
const Tref & |
alias | ) |
const |
|
inline |
Forward aliasing check to the references
Definition at line 47 of file Add.hpp.
template<typename... _Refs>
template<typename... Ts>
decltype(auto) SUNphi::Adder< _Refs >::mergedCompsViewAccordingToRepresentativeFunction |
( |
Ts &&... |
ts | ) |
|
|
inline |
Overload the mergedCompsViewAccordingToRepresentativeFunction
const method passing all args
- Parameters
-
Definition at line 57 of file Add.hpp.
template<typename... _Refs>
template<int... Is, typename MDs >
decltype(auto) SUNphi::Adder< _Refs >::mergedCompsViewAccordingToRepresentativeFunction |
( |
IntSeq< Is... > |
, |
|
|
MDs |
|
|
) |
| const |
|
inline |
Calls the representativeFunction
with the merged view of each ref
Definition at line 57 of file Add.hpp.
Implements the call operator via CRTP
- Parameters
-
Definition at line 289 of file BaseSmET.hpp.
Implements the const call operator via CRTP
< Other quantit
Definition at line 290 of file BaseSmET.hpp.
Constant cast operator to class T
Definition at line 46 of file NnarySmET.hpp.
< Components to get
Evaluate the I-th reference, getting from the Tuple
targs the element Pos
External implementation, using PosOfResTcsPresInRefsTk
to dispatch components
Position of TensComp
of the reference Tk present in thr result
Definition at line 68 of file NnarySmET.hpp.
Evaluate the I-th reference, getting from the Tuple
targs the element Pos
Non const version
Definition at line 82 of file NnarySmET.hpp.
template<typename... _Refs>
template<typename Addend1 , typename Addend2 >
static decltype(auto) SUNphi::Adder< _Refs >::representativeFunction |
( |
Addend1 && |
addend1, |
|
|
Addend2 && |
addend2 |
|
) |
| |
|
inlinestatic |
Representative function of the sum operation.
- Parameters
-
addend1 | First addend |
addend2 | Second addend |
Definition at line 37 of file Add.hpp.
Returns whether this SmET
can be the left hand of an assignement
This SmET can never be lhs
Definition at line 44 of file NnarySmET.hpp.
template<typename... _Refs>
Returns whether this SmET is storing
This SmET
is not storing
Definition at line 46 of file Add.hpp.
template<typename... _Refs>
Number or SmET
to act upon
Definition at line 26 of file Add.hpp.
template<typename... _Refs>
Reference to the 2 object
Definition at line 26 of file Add.hpp.
The documentation for this class was generated from the following file: