From 9e7fcca7258078e4cc3d886bbe02a751a1cacae1 Mon Sep 17 00:00:00 2001 From: hallerni98888 Date: Tue, 11 Nov 2025 15:53:35 +0100 Subject: [PATCH] matrix.c unitTest PASS --- matrix.c | 11 ++++++++++- runMatrixTests | Bin 64200 -> 0 bytes 2 files changed, 10 insertions(+), 1 deletion(-) delete mode 100755 runMatrixTests diff --git a/matrix.c b/matrix.c index 999f713..f9ea09a 100644 --- a/matrix.c +++ b/matrix.c @@ -56,7 +56,11 @@ Matrix add(const Matrix matrix1, const Matrix matrix2) { Matrix result = {0}; - if (matrix1.rows != matrix2.rows || matrix1.cols != matrix2.cols) + int broadcast_case = + (matrix1.cols == 1 && matrix1.rows == matrix2.rows) || + (matrix2.cols == 1 && matrix1.rows == matrix2.rows); + + if (!broadcast_case && (matrix1.rows != matrix2.rows || matrix1.cols != matrix2.cols)) { return result; } @@ -75,6 +79,8 @@ Matrix add(const Matrix matrix1, const Matrix matrix2) if (matrix1.cols == 1 && matrix1.rows == matrix2.rows) // Broadcasting { + result.rows = matrix2.rows; + result.cols = matrix2.cols; for (unsigned int i = 0; i < matrix1.rows; i++) { @@ -89,6 +95,9 @@ Matrix add(const Matrix matrix1, const Matrix matrix2) else if (matrix2.cols == 1 && matrix1.rows == matrix2.rows) { + result.rows = matrix1.rows; + result.cols = matrix1.cols; + for (unsigned int i = 0; i < matrix2.rows; i++) { for (unsigned int j = 0; j < result.cols; j++) diff --git a/runMatrixTests b/runMatrixTests deleted file mode 100755 index d05b8a814fe2d96b0fb9a7ae7a4b23fbbcf2e993..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64200 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 IaF50R0ErgZ&;S4c