diff options
Diffstat (limited to 'matrix.c')
-rw-r--r-- | matrix.c | 15 |
1 files changed, 14 insertions, 1 deletions
@@ -9,6 +9,7 @@ #include <string.h> #include <math.h> #include <time.h> +#include <stdarg.h> Matrix *matrix_alloc(size_t m, size_t n) { @@ -28,7 +29,19 @@ void matrix_free(Matrix *mat) free(mat); } -void matrix_freen(Matrix **mats) +void matrix_free_many(size_t argcount, ...) +{ + va_list argptr; + + va_start(argptr, argcount); + + for (size_t i = 0; i < argcount; ++i) + matrix_free(va_arg(argptr, Matrix *)); + + va_end(argptr); +} + +void matrix_free_many1(Matrix **mats) { Matrix *mat, **p; p = mats; |