Calculates a sum of two matrices specified as two-dimensional arrays of scalars and constructs the resulting matrix in an uninitialized buffer.
- Template Parameters
-
ValueType | A type of a matrix element. |
- Parameters
-
[in] | left_column_matrix | A pointer which addresses the left operand which is a matrix of columns by rows elements. |
[in] | right_column_matrix | A pointer to the second matrix of columns by rows elements. |
| columns | A number of columns in the matrices to add. |
| rows | A number of rows in the matrices to add. |
[out] | result | A pointer to a buffer sufficient to hold the resulting columns by rows two-dimensional array of elements of the addition result. The elements of the resulting matrix are constructed in place of the respective elements in result . The buffer must not overlap with either left_column_matrix or right_column_matrix . |
- Exceptions
-
Any | exceptions thrown from addition or move-construction of ValueType elements. |
The elements of the resulting matrix are constructed in place of the respective elements of the two-dimensional buffer pointed to by result
which is considered uninitialized. That is, no destruction or assignment of elements in result
takes place. In order to replace an existing matrix (different from both left_column_matrix
and right_column_matrix
) with the sum, one should use add_matrix_copy which performs assignment of elements rather than their construction. In order to perform addition in place, use add_matrix_inplace.