SUNphi
1.0
|
Determine mergeability of pair of TensKind
.
More...
Typedefs | |
using | AbsentInBoth = IntSeq< false, false > |
Type returned when is absent in both. | |
template<typename MD1 , typename MD2 , typename I1 , typename I2 > | |
using | CompsMergeability = decltype(_compsMergeability(MD1{}, MD2{}, I1{}, I2{})) |
Functions | |
template<typename PrevPres = AbsentInBoth, int ResPos = 0, int PrevPos1 = 0, int PrevPos2 = 0, int... MDel1, int... MDel2> | |
decltype(auto) | _compsMergeability (IntSeq< MDel1... > MD1, IntSeq< MDel2... > MD2, IntSeq<> P1, IntSeq<> P2) |
template<typename PrevPres = AbsentInBoth, int ResPos = 0, int PrevPos1 = 0, int PrevPos2 = 0, int... MDel1, int... MDel2, int Head1, int... Tail1, int Head2, int... Tail2> | |
decltype(auto) | _compsMergeability (IntSeq< MDel1... > MD1, IntSeq< MDel2... > MD2, IntSeq< Head1, Tail1... > P1, IntSeq< Head2, Tail2... > P2) |
Determine mergeability of pair of TensKind
.
using SUNphi::PairOfTensKindMergeability::CompsMergeability = typedef decltype(_compsMergeability(MD1{},MD2{},I1{},I2{})) |
Determine the mergeability of a given TensComp
A component is declared mergeable if its presence in the two TensKind
is of the same nature of the previous one (e.g. present only in one of the two TensKind
, if its position inside the two TensKind
is consecutive with previous TensComp
, and if the component was mergeable in both TensKind
Definition at line 197 of file BinarySmET.hpp.
decltype(auto) SUNphi::PairOfTensKindMergeability::_compsMergeability | ( | IntSeq< MDel1... > | MD1, |
IntSeq< MDel2... > | MD2, | ||
IntSeq<> | P1, | ||
IntSeq<> | P2 | ||
) |
Determine the mergeability of a given TensComp
Terminator of the nested implementation, returning an IntSeq
holding just the current searched position, as a final delimiter
MD1 | Holds the mergeability delimiters of first SmET |
MD2 | Holds the mergeability delimiters of second SmET |
P1 | Holds the position of first SmET where the Res TensComp are found |
P2 | Holds the position of second SmET where the Res TensComp are found |
Definition at line 109 of file BinarySmET.hpp.
decltype(auto) SUNphi::PairOfTensKindMergeability::_compsMergeability | ( | IntSeq< MDel1... > | MD1, |
IntSeq< MDel2... > | MD2, | ||
IntSeq< Head1, Tail1... > | P1, | ||
IntSeq< Head2, Tail2... > | P2 | ||
) |
Determine the mergeability of a given TensComp
, provided two TensKind
Nested internal implementation, catting the current component with the tail mergeability.
Presence of current position
Check consecutivity in first TensKind
Check consecutivity in second TensKind
Result of mergeability of nested components
Check if the component was mergeable in the first TensKind
Check if the component was mergeable in the second TensKind
Determine if a break in mergeability is needed
Insert a break or not
MD1 | Holds the mergeability delimiters of first SmET |
MD2 | Holds the mergeability delimiters of second SmET |
P1 | Holds the position of first SmET where the TensComp is found |
P2 | Holds the position of second SmET where the TensComp is found |
Definition at line 131 of file BinarySmET.hpp.