chsvlib
chsv helper source code

◆ operator*=() [1/2]

derived_type& Chusov::Math::operator*= ( Matrix< val1_t, alloc1_t, der1_t, policy1_t > &  left,
const Matrix< val2_t, alloc2_t, der2_t, policy2_t > &  right 
)

Calculates a product of two matrices with an assignment of the result to the first operand.

Template Parameters
val1_tis a type of an element of the left matrix.
alloc1_tis a type of an allocator used by the left matrix.
der1_tis a derived type of the first operand. See Matrix::derived_type.
policy1_tis an execution policy of the first operand.
val2_tis a type of an element of the right matrix.
alloc2_tis a type of an allocator used by the right matrix.
der2_tis a derived type of the second operand. See Matrix::derived_type.
policy2_tis an execution policy of the second operand.
Parameters
leftis an lvalue reference to the left matrix to which the second operand is multiplied and to which the result is assigned.
rightis a reference to the right matrix.
Returns
Returns a reference to left after the multiplication has been performed.
Remarks
The operation is defined only when elements of the first operand appertain to an Rng.
Exceptions
Chusov::Exceptions::InvalidParameterExceptionDimensions of the matrices do not match.
Examples
chsvmath\algebraic_traits.cpp.