summaryrefslogtreecommitdiff
path: root/vector.c
diff options
context:
space:
mode:
authorJasper2025-09-12 12:23:29 +0200
committerJasper2025-09-12 12:23:29 +0200
commit39715d7f92843c3cc2950b89f917408ee4b7f8b4 (patch)
treeb5bdbda518d066e63d11a6e058a65d059cb46949 /vector.c
parenta6f4ecafb9aeb94bab65d0256d8d69ab0ed024b0 (diff)
Vector doesn't keep track of being transposed, underlying matrix doesHEADmain
Diffstat (limited to 'vector.c')
-rw-r--r--vector.c9
1 files changed, 3 insertions, 6 deletions
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)