No calling the (empty) solve method

This commit is contained in:
2020-01-16 21:53:49 +01:00
parent 23b7246215
commit a933d4a548

20
main.c
View File

@@ -9,7 +9,7 @@
typedef struct { typedef struct {
int n; int n;
double **data; double** data;
} Matrix; } Matrix;
Matrix* createMatrix(void); Matrix* createMatrix(void);
void freeMatrix(Matrix* matrix); void freeMatrix(Matrix* matrix);
@@ -18,7 +18,7 @@ void printMatrix(Matrix* matrix);
typedef struct { typedef struct {
int n; int n;
double *data; double* data;
} Vector; } Vector;
Vector* createVector(void); Vector* createVector(void);
void initVector(Vector* vector, int size); void initVector(Vector* vector, int size);
@@ -30,11 +30,10 @@ typedef enum {
} Method; } Method;
bool load(const char* filename, Matrix* A, Vector* b, Vector* x); bool load(const char* filename, Matrix* A, Vector* b, Vector* x);
void solve(Method method, Matrix* A, Vector* b, Vector* x, double e); Vector* solve(Method method, Matrix* A, Vector* b, Vector* x, double e);
int readMatrixLine(FILE* file, double* matrixLine, int maxCols); int readMatrixLine(FILE* file, double* matrixLine, int maxCols);
int main(int argc, char* argv[]) { int main(int argc, char* argv[]) {
Matrix* matrix = createMatrix(); Matrix* matrix = createMatrix();
Vector* b = createVector(); Vector* b = createVector();
@@ -54,6 +53,9 @@ int main(int argc, char* argv[]) {
printVector(b); printVector(b);
puts("Vector x:"); puts("Vector x:");
printVector(x); printVector(x);
Vector* result = solve(JACOBI, matrix, b, x, 0.00001);
free(result);
} else { } else {
puts("Failed to load data from file"); puts("Failed to load data from file");
returnCode = 2; returnCode = 2;
@@ -175,8 +177,16 @@ int readMatrixLine(FILE* file, double* matrixLine, int maxCols) {
return col; return col;
} }
void solve(Method method, Matrix* A, Vector* b, Vector* x, double e) { Vector* solve(Method method, Matrix* A, Vector* b, Vector* x, double e) {
Vector* vectors = malloc(sizeof(Vector)*100);
// on success
// Bitte setzt vectors[n+1].n = 0
return vectors;
// on failure
free(vectors);
return NULL;
} }
inline Matrix* createMatrix(void) { inline Matrix* createMatrix(void) {