From 7597ad2d02dec6bc37e93fe2c7e869463e614ccb Mon Sep 17 00:00:00 2001 From: od49ukup Date: Thu, 20 Nov 2025 18:03:29 +0100 Subject: [PATCH] matrix.c und .h fertig, alle tests bestanden --- matrix.c | 108 +++++++++++++++--- matrix.h | 5 + runMatrixTests | Bin 0 -> 61504 bytes runMatrixTests.dSYM/Contents/Info.plist | 20 ++++ .../Contents/Resources/DWARF/runMatrixTests | Bin 0 -> 41180 bytes .../Relocations/aarch64/runMatrixTests.yml | 5 + 6 files changed, 122 insertions(+), 16 deletions(-) create mode 100755 runMatrixTests create mode 100644 runMatrixTests.dSYM/Contents/Info.plist create mode 100644 runMatrixTests.dSYM/Contents/Resources/DWARF/runMatrixTests create mode 100644 runMatrixTests.dSYM/Contents/Resources/Relocations/aarch64/runMatrixTests.yml diff --git a/matrix.c b/matrix.c index f40bf72..36121d8 100644 --- a/matrix.c +++ b/matrix.c @@ -2,45 +2,121 @@ #include #include "matrix.h" -typedef struct{ - unsigned int rows; - unsigned int cols; -}Matrix; - // TODO Matrix-Funktionen implementieren Matrix createMatrix(unsigned int rows, unsigned int cols) { - Matrix matrix(rows, cols); - return matrix; + Matrix m; + if(rows == 0 || cols == 0){ + m.rows = 0; + m.cols = 0; + m.buffer = NULL; + return m; + } + m.rows = rows; + m.cols = cols; + m.buffer = calloc(rows * cols, sizeof(MatrixType)); // matrix flach angelegt a11 a12 a13 a21 a22... + if(m.buffer == NULL){ // speicherreservierung fehlgeschlagen + m.rows = 0; + m.cols = 0; + } + return m; } void clearMatrix(Matrix *matrix) { - int matrix[matrix.rows][matrix.cols]; - for(int i = 0; i < matrix[rows].length; i++){ - for(int j = 0; j < matrix[cols]; j++){ - matrix[i][j] = 0; - } - } + matrix->rows = 0; + matrix->cols = 0; + + free(matrix->buffer); + + + matrix->buffer = NULL; } void setMatrixAt(MatrixType value, Matrix matrix, unsigned int rowIdx, unsigned int colIdx) { - // einen wert in der matrix setzen + // genau einen wert in der matrix setzen + int idx = rowIdx * matrix.cols + colIdx; // flache matrix betrachten + matrix.buffer[idx] = value; } MatrixType getMatrixAt(const Matrix matrix, unsigned int rowIdx, unsigned int colIdx) { // einen wert in der matrix returnen + if(rowIdx >= matrix.rows || colIdx >= matrix.cols || matrix.buffer == NULL){ + return(MatrixType)0; + } + int idx = rowIdx * matrix.cols + colIdx; + return matrix.buffer[idx]; } Matrix add(const Matrix matrix1, const Matrix matrix2) { - // addieren entweder mit matrix oder vektor + // elementweise addition (beide matrizen selbe größe) + if(matrix1.rows == matrix2.rows && matrix1.cols == matrix2.cols){ + Matrix resultmatrix = createMatrix(matrix1.rows, matrix1.cols); + for(int i = 0; i < (matrix1.rows * matrix1.cols); i++){ + resultmatrix.buffer[i] = matrix1.buffer[i] + matrix2.buffer[i]; + } + return resultmatrix; + } + // broadcasting + // A Matrix B Vektor + if(matrix1.rows == matrix2.rows && matrix2.cols == 1){ + Matrix resultmatrix = createMatrix(matrix1.rows, matrix1.cols); + // TODO + for(int rows = 0; rows < matrix1.rows; rows++){ + for(int cols = 0; cols < matrix1.cols; cols++){ + MatrixType wertm1 = getMatrixAt(matrix1, rows, cols); + MatrixType wertm2 = getMatrixAt(matrix2, rows, 0); + setMatrixAt(wertm1 + wertm2, resultmatrix, rows, cols); + } + } + return resultmatrix; + } + + // A Vektor B Matrix + if(matrix1.rows == matrix2.rows && matrix1.cols == 1){ + Matrix resultmatrix = createMatrix(matrix1.rows, matrix2.cols); + // TODO + for(int rows = 0; rows < matrix1.rows; rows++){ + for(int cols = 0; cols < matrix2.cols; cols++){ + MatrixType wertm1 = getMatrixAt(matrix1, rows, 0); + MatrixType wertm2 = getMatrixAt(matrix2, rows, cols); + setMatrixAt(wertm1 + wertm2, resultmatrix, rows, cols); + } + } + return resultmatrix; + } + + Matrix undef; + undef.rows = 0; + undef.cols = 0; + undef.buffer = NULL; + return undef; } Matrix multiply(const Matrix matrix1, const Matrix matrix2) { - + // bedingung für A*B: A.cols = B.rows + if(matrix1.cols == matrix2.rows){ + Matrix resultmatrix = createMatrix(matrix1.rows, matrix2.cols); + for(int i = 0; i < matrix1.rows; i++){ + for(int j = 0; j < matrix2.cols; j++){ + MatrixType summe = 0; + + for(int l = 0; l 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 Va=3Vd>yu~yA?}|1mrc?({vX|K5extT literal 0 HcmV?d00001 diff --git a/runMatrixTests.dSYM/Contents/Info.plist b/runMatrixTests.dSYM/Contents/Info.plist new file mode 100644 index 0000000..53f0f1a --- /dev/null +++ b/runMatrixTests.dSYM/Contents/Info.plist @@ -0,0 +1,20 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleIdentifier + com.apple.xcode.dsym.runMatrixTests + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + dSYM + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/runMatrixTests.dSYM/Contents/Resources/DWARF/runMatrixTests b/runMatrixTests.dSYM/Contents/Resources/DWARF/runMatrixTests new file mode 100644 index 0000000000000000000000000000000000000000..fe3d8d0cd79ef75c23d4af59399226dae3ab398c GIT binary patch literal 41180 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 NaTI=xJX#{y{{f#V3_kz> literal 0 HcmV?d00001 diff --git a/runMatrixTests.dSYM/Contents/Resources/Relocations/aarch64/runMatrixTests.yml b/runMatrixTests.dSYM/Contents/Resources/Relocations/aarch64/runMatrixTests.yml new file mode 100644 index 0000000..06dc558 --- /dev/null +++ b/runMatrixTests.dSYM/Contents/Resources/Relocations/aarch64/runMatrixTests.yml @@ -0,0 +1,5 @@ +--- +triple: 'arm64-apple-darwin' +binary-path: runMatrixTests +relocations: [] +...