Files
KohlerMaxi 3e99943cb8 In allen matrix Datein das Wort space durch buffer ersetzt.
(Hab das erst im ganzen projekt gemacht, eigentlich wider rückgängig.
Falls probleme auftreten sollten das checken)
2026-11-08 19:34:16 +01:00

34 lines
1.3 KiB
C

#ifndef MATRIX_H
#define MATRIX_H
#define UNDEFINED_MATRIX_VALUE 0
typedef float MatrixType;
//Strukt für Matrix erstellen (Anzahl Zeilen und Spalten sowie einem Speicherbereich mit den eigentlichen Werten)
typedef struct{
unsigned int rows; //Zeilen
unsigned int cols; //Spalten
MatrixType *buffer; //Speicherbereich
} Matrix;
//[*buffer] |Zeile 1| |Zeile 2| |...
// Ich wähle hier eine ein eindimensionales Array (ptr -> |0|1|2|3| |4|5|6|7| |8|9|...) Das ist einfacher zur speicherakolisierung mit malloc, weil ich nur einen Speicher reservieren muss
// ! man muss rechnen um auf die richtige Adresse zu kommen!
//
//[**buffer]
// Würde man das wählen hätte ich ptr -> |ptr|ptr|ptr|, jeder dieser pointer würde dann auf eine Zeile Zeigen
// !Ich müsste alle malloc nacheinander löschen (schwieriger)!
Matrix createMatrix(unsigned int rows, unsigned int cols);
void clearMatrix(Matrix *matrix);
void setMatrixAt(MatrixType value, Matrix matrix, unsigned int rowIdx, unsigned int colIdx);
MatrixType getMatrixAt(const Matrix matrix, unsigned int rowIdx, unsigned int colIdx);
Matrix add(const Matrix matrix1, const Matrix matrix2);
Matrix multiply(const Matrix matrix1, const Matrix matrix2);
#endif