Directory: | ./ |
---|---|
File: | s21_eq_matrix.c |
Date: | 2025-08-15 23:01:21 |
Exec | Total | Coverage | |
---|---|---|---|
Lines: | 14 | 14 | 100.0% |
Branches: | 18 | 18 | 100.0% |
Line | Branch | Exec | Source |
---|---|---|---|
1 | #include "s21_matrix.h" | ||
2 | |||
3 | void s21_eq_matrix_process_column(matrix_t *A, matrix_t *B, int i, int *code); | ||
4 | |||
5 | 42 | int s21_eq_matrix(matrix_t *A, matrix_t *B) { | |
6 |
4/4✓ Branch 1 taken 40 times.
✓ Branch 2 taken 2 times.
✓ Branch 4 taken 2 times.
✓ Branch 5 taken 38 times.
|
42 | if (s21_check_matrix_is_invalid(A) || s21_check_matrix_is_invalid(B)) { |
7 | 4 | return FAILURE; | |
8 | } | ||
9 | |||
10 | 38 | int code = SUCCESS; | |
11 |
4/4✓ Branch 0 taken 36 times.
✓ Branch 1 taken 2 times.
✓ Branch 2 taken 34 times.
✓ Branch 3 taken 2 times.
|
38 | if (A->rows == B->rows && A->columns == B->columns) { |
12 |
4/4✓ Branch 0 taken 92 times.
✓ Branch 1 taken 32 times.
✓ Branch 2 taken 90 times.
✓ Branch 3 taken 2 times.
|
124 | for (int i = 0; i < A->rows && code == SUCCESS; i++) { |
13 | 90 | s21_eq_matrix_process_column(A, B, i, &code); | |
14 | } | ||
15 | } else { | ||
16 | 4 | code = FAILURE; | |
17 | } | ||
18 | |||
19 | 38 | return code; | |
20 | } | ||
21 | |||
22 | 90 | void s21_eq_matrix_process_column(matrix_t *A, matrix_t *B, int i, int *code) { | |
23 |
4/4✓ Branch 0 taken 246 times.
✓ Branch 1 taken 88 times.
✓ Branch 2 taken 244 times.
✓ Branch 3 taken 2 times.
|
334 | for (int j = 0; j < B->columns && *code == SUCCESS; j++) { |
24 |
2/2✓ Branch 1 taken 2 times.
✓ Branch 2 taken 242 times.
|
244 | if (!s21_are_doubles_equal(A->matrix[i][j], B->matrix[i][j])) { |
25 | 2 | *code = FAILURE; | |
26 | } | ||
27 | } | ||
28 | 90 | } | |
29 |