28 #include "tnt/tnt_array2d.h"
29 #include "tnt/tnt_array1d.h"
145 BigInt &ptsUsed,
double &resid, GMatrix &atai,
149 const GMatrix &atai);
153 virtual bool CompareFits(
double fit1,
double fit2);
174 EigenSolutionFailed = 3, AffineNotInvertable = 4,
175 MaxIterationsExceeded = 5, RadShiftExceeded = 6,
176 RadGainExceeded = 7, MaxEigenExceeded = 8,
177 AffineDistExceeded = 9
183 ErrorCounter() : m_gerrno(0), m_keyname(
"Unknown"), m_count(0) { }
184 ErrorCounter(
int gerrno,
const QString &keyname) : m_gerrno(gerrno),
185 m_keyname(keyname), m_count(0) { }
187 inline int Errno()
const {
return (m_gerrno); }
188 inline BigInt Count()
const {
return (m_count); }
189 inline void BumpIt() { m_count++; }
202 QString m_filePattern;
205 BigInt m_unclassified;
210 BigInt m_totalIterations;
220 double m_rgainMinTol;
221 double m_rgainMaxTol;
258 const QString &defval,
int index = 0)
const {
259 if(!conf.
exists(keyname)) {
262 if(conf.
count(keyname) < index) {
265 QString iValue(conf.
value(keyname, index));
267 QString value = tmp.ToQt();
287 template <
typename T>
289 const T &defval,
int index = 0)
const {
290 if(!conf.
exists(keyname)) {
293 if(conf.
count(keyname) < index) {
296 QString iValue(conf.
value(keyname, index));
315 template <
typename T>
318 const QString &unit =
"")
const {
319 if(m_prof.
exists(keyname)) {
340 const QString &unit =
"")
const {
350 int logError(
int gerrno,
const QString &gerrmsg);
363 return ((
double) (npts - NCONSTR));
368 GMatrix Identity(
const int &ndiag = 3)
const;
369 GMatrix
Choldc(
const GMatrix &a, GVector &p)
const;
370 GMatrix
Cholsl(
const GMatrix &a,
const GVector &p,
371 const GMatrix &b,
const GMatrix &x)
const;
372 int Jacobi(
const GMatrix &a, GVector &evals, GMatrix &evecs,
373 const int &MaxIters = 50)
const;
374 void EigenSort(GVector &evals, GMatrix &evecs)
const;
376 bool ValidPoints(BigInt totalPoints, BigInt nPoints)
const;