diff options
author | Jasper | 2025-09-09 12:16:26 +0200 |
---|---|---|
committer | Jasper | 2025-09-09 12:16:26 +0200 |
commit | 5fd2f59d9f30253cb0c64a06a4a305e90b89e3ae (patch) | |
tree | 1fa55449eb91489a428eeb48307d7d314b208860 /vector.c | |
parent | 29f92b1c7dad80b40654f561fbe82f5c1d9df7b2 (diff) |
Variadic functions to free matrices/vectors
Renamed 'matrix_freen' to 'matrix_free_many1'. Frees a dynamic array of
matrices.
Diffstat (limited to 'vector.c')
-rw-r--r-- | vector.c | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -8,6 +8,7 @@ #include <assert.h> #include <stdlib.h> #include <stdio.h> +#include <stdarg.h> Vector *vector_alloc(size_t m) { @@ -37,6 +38,18 @@ void vector_free(Vector *v) free(v); } +void vector_free_many(size_t argcount, ...) +{ + va_list argptr; + + va_start(argptr, argcount); + + for (size_t i = 0; i < argcount; ++i) + vector_free(va_arg(argptr, Vector *)); + + va_end(argptr); +} + void vector_print(const Vector *v) { if (v->is_colvec) matrix_print(v->mat); |