little improvement in simple_fit
This commit is contained in:
		
							parent
							
								
									c45e3cc40c
								
							
						
					
					
						commit
						0c4c701867
					
				
							
								
								
									
										5
									
								
								simple.h
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								simple.h
									
									
									
									
									
								
							@ -99,8 +99,8 @@ T fitmat[n][n];
 | 
				
			|||||||
T rhsmat[1][n];
 | 
					T rhsmat[1][n];
 | 
				
			||||||
T fitcoef[n];
 | 
					T fitcoef[n];
 | 
				
			||||||
int npoints;
 | 
					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));};
 | 
						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();}
 | 
						simple_linfit()  {clear(false);}
 | 
				
			||||||
	void input(const T (&funcs)[n], const T y)
 | 
						void input(const T (&funcs)[n], const T y)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
		++npoints;
 | 
							++npoints;
 | 
				
			||||||
@ -130,6 +130,7 @@ int npoints;
 | 
				
			|||||||
			}
 | 
								}
 | 
				
			||||||
		T det = simple_gaussj(fitmat,rhsmat);
 | 
							T det = simple_gaussj(fitmat,rhsmat);
 | 
				
			||||||
		memcpy(&fitcoef[0],&rhsmat[0][0],n*sizeof(T));
 | 
							memcpy(&fitcoef[0],&rhsmat[0][0],n*sizeof(T));
 | 
				
			||||||
 | 
							clear(true);
 | 
				
			||||||
		return det;	
 | 
							return det;	
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user