From 39715d7f92843c3cc2950b89f917408ee4b7f8b4 Mon Sep 17 00:00:00 2001 From: Jasper Date: Fri, 12 Sep 2025 12:23:29 +0200 Subject: Vector doesn't keep track of being transposed, underlying matrix does --- vector.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'vector.c') diff --git a/vector.c b/vector.c index 2f180c7..e0d7dea 100644 --- a/vector.c +++ b/vector.c @@ -16,7 +16,6 @@ Vector *vector_alloc(size_t m) v->mat = matrix_alloc(m, 1); v->xs = v->mat->xs; v->m = v->mat->m; - v->is_colvec = true; return v; } @@ -27,7 +26,6 @@ Vector *vector_alloc1(Matrix *mat) v->mat = mat; v->m = mat->m; v->xs = mat->xs; - v->is_colvec = true; return v; } @@ -51,8 +49,7 @@ void vector_free_many(size_t argcount, ...) void vector_print(const Vector *v) { - if (v->is_colvec) matrix_print(v->mat); - else matrix_print(matrix_transpose(v->mat)); + matrix_print(v->mat); } Vector *vector_from_str(char *str) @@ -115,14 +112,14 @@ void vector_copy1(Vector *u, const Vector *v) Vector *vector_transpose(const Vector *v) { Vector *w = vector_copy(v); - w->is_colvec = false; + vector_transpose1(w); return w; } void vector_transpose1(Vector *v) { - v->is_colvec = false; + matrix_transpose1(v->mat); } Vector *vector_add(const Vector *u, const Vector *v) -- cgit v1.2.3