Search Results
Documentation
template<typename Result, typename Left, typename Right, bool LeftConsumable, bool RightConsumable>
class TiledArray::detail::Subt< Result, Left, Right, LeftConsumable, RightConsumable >
Tile subtraction operation.
This subtraction operation will subtract the content two tiles, and accepts an optional permute argument.
Public Types | |
typedef Subt< Result, Left, Right, LeftConsumable, RightConsumable > Subt_ | |
typedef Left left_type | |
Left-hand argument base type. More... | |
typedef Right right_type | |
Right-hand argument base type. More... | |
typedef Result result_type | |
The result tile type. More... | |
Public Member Functions | |
template<typename L , typename R , typename Perm , typename = std::enable_if_t<TiledArray::detail::is_permutation_v<Perm>>> | |
result_type operator() (L &&left, R &&right, const Perm &perm) const | |
Subtract-and-permute operator. More... | |
template<typename L , typename R > | |
result_type operator() (L &&left, R &&right) const | |
Subtract operator. More... | |
template<typename R > | |
result_type consume_left (left_type &left, R &&right) const | |
Subtract right to left. More... | |
template<typename L > | |
result_type consume_right (L &&left, right_type &right) const | |
Subtract left to right. More... | |
Static Public Attributes | |
static constexpr bool left_is_consumable | |
Indicates whether it is possible to consume the left tile. More... | |
static constexpr bool right_is_consumable | |
Indicates whether it is possible to consume the right tile. More... | |
Member Typedef Documentation
◆ left_type
typedef Left TiledArray::detail::Subt< Result, Left, Right, LeftConsumable, RightConsumable >::left_type |
◆ result_type
typedef Result TiledArray::detail::Subt< Result, Left, Right, LeftConsumable, RightConsumable >::result_type |
◆ right_type
typedef Right TiledArray::detail::Subt< Result, Left, Right, LeftConsumable, RightConsumable >::right_type |
◆ Subt_
typedef Subt<Result, Left, Right, LeftConsumable, RightConsumable> TiledArray::detail::Subt< Result, Left, Right, LeftConsumable, RightConsumable >::Subt_ |
Member Function Documentation
◆ consume_left()
|
inline |
Subtract right to left.
Subtract the right tile to the left. The right tile may be replaced with ZeroTensor
argument, in which case the argument's element values are assumed to be 0
.
- Template Parameters
-
R The right-hand tile argument type
- Parameters
-
left The left-hand tile argument right The right-hand tile argument
- Returns
- The difference of
left
andright
.
◆ consume_right()
|
inline |
Subtract left to right.
Subtract the left tile to the right. The left tile may be replaced with ZeroTensor
argument, in which case the argument's element values are assumed to be 0
.
- Template Parameters
-
L The left-hand tile argument type
- Parameters
-
left The left-hand tile argument right The right-hand tile argument
- Returns
- The difference of
left
andright
.
◆ operator()() [1/2]
|
inline |
Subtract operator.
Compute the difference of two tiles. One of the argument tiles may be replaced with ZeroTensor
argument, in which case the argument's element values are assumed to be 0
.
- Template Parameters
-
L The left-hand tile argument type R The right-hand tile argument type
- Parameters
-
left The left-hand tile argument right The right-hand tile argument
- Returns
- The scaled difference of
left
andright
.
◆ operator()() [2/2]
|
inline |
Subtract-and-permute operator.
Compute the difference of two tiles and permute the result. One of the argument tiles may be replaced with ZeroTensor
argument, in which case the argument's element values are assumed to be 0
.
- Template Parameters
-
L The left-hand tile argument type R The right-hand tile argument type
- Parameters
-
left The left-hand tile argument right The right-hand tile argument perm The permutation applied to the result tile
- Returns
- The permuted and scaled difference of
left
andright
.
Member Data Documentation
◆ left_is_consumable
|
staticconstexpr |
◆ right_is_consumable
|
staticconstexpr |
The documentation for this class was generated from the following file:
- TiledArray/tile_op/subt.h