diff --git a/sm/lib/egsl/egsl.c b/sm/lib/egsl/egsl.c index 5a57f13a67988519bd25057c7e6bf718bbe0b477..c4943b49cd2896528c27d45d8bd6d5c921420d16 100644 --- a/sm/lib/egsl/egsl.c +++ b/sm/lib/egsl/egsl.c @@ -299,5 +299,13 @@ double egsl_atm(val v1, size_t i, size_t j){ return *egsl_atmp(v1, i, j); } - +void egsl_free(void){ + int c; + for(c=0;c<=max_cid;c++) { + for(int i=egsl_contexts[c].nvars; i<egsl_contexts[c].nallocated; i++){ + gsl_matrix_free(egsl_contexts[c].vars[i].gsl_m); + } + egsl_contexts[c].nallocated = egsl_contexts[c].nvars; + } +}