add_to_matrix#
Calculates \(\boldsymbol{C}= \boldsymbol{C} + \boldsymbol{A}\) if dimensions of \(\boldsymbol{A}\) and \(\boldsymbol{C}\) are equal.
-
void uz_matrix_add(uz_matrix_t const *const A, uz_matrix_t *const C_out)#
Calculates C_out += A.
- Parameters:
A – Pointer to a uz_matrix_t instance
C_out – Adds the values of A to C_out
Example#
\[\begin{split}\begin{bmatrix}
1 & 2\\
3 & 4
\end{bmatrix} +
\begin{bmatrix}
1 & 2\\
3 & 4
\end{bmatrix} =
\begin{bmatrix}
2 & 4\\
6 & 8
\end{bmatrix}\end{split}\]
1
2void test_uz_matrix_add_to_matrix_2_times2(void){
3 uint32_t rows=2;
4 uint32_t columns=2;
5 float A_data[4]={1,2,3,4};
6 float C_data[4]={1,2,3,4};
7 uz_matrix_t* A=init_array_test_helper(A_data,UZ_MATRIX_SIZE(A_data),rows, columns );
8 uz_matrix_t* C=init_array_test_helper(C_data,UZ_MATRIX_SIZE(C_data),rows, columns );
9 // C=A + B
10 uz_matrix_add(A,C);
11 TEST_ASSERT_EQUAL_FLOAT(2,uz_matrix_get_element_zero_based(C,0,0) );
12 TEST_ASSERT_EQUAL_FLOAT(4,uz_matrix_get_element_zero_based(C,0,1) );
13 TEST_ASSERT_EQUAL_FLOAT(6,uz_matrix_get_element_zero_based(C,1,0) );
14 TEST_ASSERT_EQUAL_FLOAT(8,uz_matrix_get_element_zero_based(C,1,1) );