chsvlib
chsv helper source code

◆ add_matrix_copy()

void Chusov::Math::add_matrix_copy ( const ValueType *  left_column_matrix,
const ValueType *  right_column_matrix,
std::size_t  columns,
std::size_t  rows,
ValueType *restrict  result 
)

Calculates a sum of two matrices specified as two-dimensional arrays of scalars and assigns the result to a third matrix.

Template Parameters
ValueTypeA type of a matrix element.
Parameters
[in]left_column_matrixA pointer which addresses the left operand which is a matrix of columns by rows elements.
[in]right_column_matrixA pointer to the second matrix of columns by rows elements.
columnsA number of columns in the matrices to add.
rowsA number of rows in the matrices to add.
[in,out]resultA pointer to a matrix which accepts the result of the operation. The elements of the sum are copy-assigned to the respective elements of result. The buffer must not overlap with either left_column_matrix or right_column_matrix.
Exceptions
Anyexceptions thrown from addition or move-assignment of ValueType elements.

The elements of the resulting matrix are sequentially copy-assigned to the elements of the two-dimensional array pointed to by result. In order to construct elements of the result in an uninitialized buffer, use add_matrix_construct. In order to perform addition in place, use add_matrix_inplace.