GCC Code Coverage Report


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