From 0c4c7018674abdd415c7e6de44ecdce7713774ea Mon Sep 17 00:00:00 2001 From: Jiri Pittner Date: Mon, 22 Nov 2021 14:45:06 +0100 Subject: [PATCH] little improvement in simple_fit --- simple.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/simple.h b/simple.h index 46dccb9..0e46d48 100644 --- a/simple.h +++ b/simple.h @@ -99,8 +99,8 @@ T fitmat[n][n]; T rhsmat[1][n]; T fitcoef[n]; int npoints; - void clear() {npoints=0; memset(&fitmat[0][0],0,n*n*sizeof(T)); memset(&rhsmat[0][0],0,1*n*sizeof(T)); memset(&fitcoef[0],0,n*sizeof(T));}; - simple_linfit() {clear();} + void clear(bool keepresults=false) {npoints=0; memset(&fitmat[0][0],0,n*n*sizeof(T)); memset(&rhsmat[0][0],0,1*n*sizeof(T)); if(!keepresults) memset(&fitcoef[0],0,n*sizeof(T));}; + simple_linfit() {clear(false);} void input(const T (&funcs)[n], const T y) { ++npoints; @@ -130,6 +130,7 @@ int npoints; } T det = simple_gaussj(fitmat,rhsmat); memcpy(&fitcoef[0],&rhsmat[0][0],n*sizeof(T)); + clear(true); return det; }