template<typename Result, typename Left, typename Right, typename Scalar, bool LeftConsumable, bool RightConsumable>
class TiledArray::detail::ScalMult< Result, Left, Right, Scalar, LeftConsumable, RightConsumable >
Tile scale-multiplication operation.
This multiplication operation will multiply the content two tiles and apply a permutation to the result tensor. If no permutation is given or the permutation is null, then the result is not permuted.
- Template Parameters
-
| Result | The result tile type |
| Left | The left-hand argument type |
| Right | The right-hand argument type |
| Scalar | The scaling factor type |
| LeftConsumable | If true, the left-hand tile is a temporary and may be consumed |
| RightConsumable | If true, the right-hand tile is a temporary and may be consumed |
- Note
- Input tiles can be consumed only if their type matches the result type.
Definition at line 233 of file mult.h.
template<typename Result , typename Left , typename Right , typename Scalar , bool LeftConsumable, bool RightConsumable>
template<typename R >
Multiply right to left and scale the result.
Multiply the right tile to the left.
- Template Parameters
-
| R | The right-hand tile argument type |
- Parameters
-
| left | The left-hand tile argument |
| right | The right-hand tile argument |
- Returns
- The product of
left and right.
Definition at line 383 of file mult.h.
template<typename Result , typename Left , typename Right , typename Scalar , bool LeftConsumable, bool RightConsumable>
template<typename L >
Multiply left to right and scale the result.
Multiply the left tile to the right, and scale the resulting left tile.
- Template Parameters
-
| L | The left-hand tile argument type |
- Parameters
-
| left | The left-hand tile argument |
| right | The right-hand tile argument |
- Returns
- The product of
left and right.
Definition at line 402 of file mult.h.
template<typename Result , typename Left , typename Right , typename Scalar , bool LeftConsumable, bool RightConsumable>
template<typename L , typename R >
Scale-multiply-and-permute operator.
Compute the scaled product of two tiles and permute the result.
- 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 product of
left and right.
Definition at line 357 of file mult.h.
template<typename Result , typename Left , typename Right , typename Scalar , bool LeftConsumable, bool RightConsumable>
template<typename L , typename R >
Scale-and-multiply operator.
Compute the scaled product of two tiles.
- 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 product of
left and right.
Definition at line 370 of file mult.h.
template<typename Result , typename Left , typename Right , typename Scalar , bool LeftConsumable, bool RightConsumable>
Initial value:=
LeftConsumable && std::is_same<result_type, left_type>::value
Indicates whether it is possible to consume the left tile.
Definition at line 244 of file mult.h.
template<typename Result , typename Left , typename Right , typename Scalar , bool LeftConsumable, bool RightConsumable>
Initial value:=
RightConsumable && std::is_same<result_type, right_type>::value
Indicates whether it is possible to consume the right tile.
Definition at line 247 of file mult.h.