```// @(#)root/matrix:\$Id\$
// Authors: Fons Rademakers, Eddy Offermann  Apr 2004

/*************************************************************************
*                                                                       *
* For the licensing terms see \$ROOTSYS/LICENSE.                         *
* For the list of contributors see \$ROOTSYS/README/CREDITS.             *
*************************************************************************/

#include "TDecompSparse.h"
#include "TMath.h"

ClassImp(TDecompSparse)

///////////////////////////////////////////////////////////////////////////
//                                                                       //
// Sparse Symmetric Decomposition class                                  //
//                                                                       //
// Solve a sparse symmetric system of linear equations using a method    //
// based on Gaussian elimination as discussed in Duff and Reid,          //
// ACM Trans. Math. Software 9 (1983), 302-325.                          //
//                                                                       //
///////////////////////////////////////////////////////////////////////////

//______________________________________________________________________________
TDecompSparse::TDecompSparse()
{
// Default constructor

fVerbose = 0;
InitParam();
memset(fInfo,0,21*sizeof(Int_t));
}

//______________________________________________________________________________
TDecompSparse::TDecompSparse(Int_t nRows,Int_t nr_nonZeros,Int_t verbose)
{
// Constructor for a matrix with nrows and unspecified number of columns .
// nr_nonZeros is the total number of non-zero entries in the matrix .

fVerbose = verbose;
InitParam();

fNrows     = nRows;
fNnonZeros = nr_nonZeros;

fRowFact.Set(nr_nonZeros+1);
fColFact.Set(nr_nonZeros+1);
fW      .Set(fNrows+1);
fIkeep  .Set(3*(fNrows+1));
fIw     .Set((Int_t)(1.3 * (2*fNnonZeros+3*fNrows+1)+1));
fIw1    .Set(2*(fNrows+1));

memset(fInfo,0,21*sizeof(Int_t));

// These parameters can only be set after sparsity/pivoting pattern is known
fNsteps = 0;
fMaxfrt = 0;
}

//______________________________________________________________________________
TDecompSparse::TDecompSparse(Int_t row_lwb,Int_t row_upb,Int_t nr_nonZeros,Int_t verbose)
{
// Constructor for a matrix with row range, [row_lwb..row_upb] and unspecified column
// range . nr_nonZeros is the total number of non-zero entries in the matrix .

fVerbose = verbose;
InitParam();

fRowLwb    = row_lwb;
fColLwb    = row_lwb;
fNrows     = row_upb-row_lwb+1;
fNnonZeros = nr_nonZeros;

fRowFact.Set(nr_nonZeros+1);
fColFact.Set(nr_nonZeros+1);
fW      .Set(fNrows+1);
fIkeep  .Set(3*(fNrows+1));
fIw     .Set((Int_t)(1.3 * (2*fNnonZeros+3*fNrows+1)+1));
fIw1    .Set(2*(fNrows+1));

memset(fInfo,0,21*sizeof(Int_t));

// These parameters can only be set after sparsity/pivoting pattern is known
fNsteps = 0;
fMaxfrt = 0;
}

//______________________________________________________________________________
TDecompSparse::TDecompSparse(const TMatrixDSparse &a,Int_t verbose)
{
// Constructor for matrix A .

fVerbose = verbose;

InitParam();
SetMatrix(a);

memset(fInfo,0,21*sizeof(Int_t));
}

//______________________________________________________________________________
TDecompSparse::TDecompSparse(const TDecompSparse &another) : TDecompBase(another)
{
// Copy constructor

*this = another;
}

//______________________________________________________________________________
Int_t TDecompSparse::NonZerosUpperTriang(const TMatrixDSparse &a)
{
// Static function, returning the number of non-zero entries in the upper triangular matrix .

const Int_t  rowLwb   = a.GetRowLwb();
const Int_t  colLwb   = a.GetColLwb();
const Int_t  nrows    = a.GetNrows();;
const Int_t *pRowIndex = a.GetRowIndexArray();
const Int_t *pColIndex = a.GetColIndexArray();

Int_t nr_nonzeros = 0;
for (Int_t irow = 0; irow < nrows; irow++ ) {
const Int_t rown = irow+rowLwb;
for (Int_t index = pRowIndex[irow]; index < pRowIndex[irow+1]; index++ ) {
const Int_t coln = pColIndex[index]+colLwb;
if (coln >= rown) nr_nonzeros++;
}
}

return nr_nonzeros;
}

//______________________________________________________________________________
void TDecompSparse::CopyUpperTriang(const TMatrixDSparse &a,Double_t *b)
{
// Static function, copying the non-zero entries in the upper triangle to
// array b . User should allocate enough memory for array b .

const Int_t     rowLwb    = a.GetRowLwb();
const Int_t     colLwb    = a.GetColLwb();
const Int_t     nrows     = a.GetNrows();;
const Int_t    *pRowIndex = a.GetRowIndexArray();
const Int_t    *pColIndex = a.GetColIndexArray();
const Double_t *pData     = a.GetMatrixArray();

Int_t nr = 0;
for (Int_t irow = 0; irow < nrows; irow++ ) {
const Int_t rown = irow+rowLwb;
for (Int_t index = pRowIndex[irow]; index < pRowIndex[irow+1]; index++ ) {
const Int_t coln = pColIndex[index]+colLwb;
if (coln >= rown) b[nr++] = pData[index];
}
}
}

//______________________________________________________________________________
void TDecompSparse::SetMatrix(const TMatrixDSparse &a)
{
// Set matrix to be decomposed .

ResetStatus();

fA.Use(*const_cast<TMatrixDSparse *>(&a));
fRowLwb    = fA.GetRowLwb();
fColLwb    = fA.GetColLwb();
fNrows     = fA.GetNrows();
fNnonZeros = NonZerosUpperTriang(a);

fRowFact.Set(fNnonZeros+1);
fColFact.Set(fNnonZeros+1);

const Int_t *rowIndex = a.GetRowIndexArray();
const Int_t *colIndex = a.GetColIndexArray();

Int_t nr = 0;
for (Int_t irow = 0; irow < fNrows; irow++ ) {
const Int_t rown = irow+fRowLwb;
for (Int_t index = rowIndex[irow]; index < rowIndex[irow+1]; index++ ) {
const Int_t coln = colIndex[index]+fColLwb;
if (coln >= rown) {
fRowFact[nr+1] = irow+1;
fColFact[nr+1] = colIndex[index]+1;
nr++;
}
}
}

fW    .Set(fNrows+1);
fIkeep.Set(3*(fNrows+1));
fIw   .Set((Int_t)(1.3 * (2*fNnonZeros+3*fNrows+1)+1));
fIw1  .Set(2*(fNrows+1));

// Determine pivot sequence, set iflag = 0 in order to make InitPivot choose the order.
Int_t iflag = 0;
Double_t ops;
InitPivot(fNrows,fNnonZeros,fRowFact,fColFact,fIw,fIkeep,fIw1,fNsteps,iflag,
fIcntl,fCntl,fInfo,ops);

switch ( this->ErrorFlag() ) {
case -1 :
Error("SetMatrix(const TMatrixDSparse &","nRows  = %d out of range",fNrows);
return;
case -2 :
Error("SetMatrix(const TMatrixDSparse &","nr_nonzeros  = %d out of range",fNnonZeros);
return;
case -3 :
Error("SetMatrix(const TMatrixDSparse &",
"insufficient space in fIw of %d suggest reset to %d",fIw.GetSize(),this->IError());
return;
case 1 :
Error("SetMatrix(const TMatrixDSparse &",
"detected %d entries out of rage in row/col indices; ignored",this->IError());
return;
}

// set fIw and fIw1 in prep for calls to Factor and Solve

//   fIw  .Set((Int_t) 1.2*this->MinRealWorkspace()+1);
fIw  .Set((Int_t) 3*this->MinRealWorkspace()+1);
fIw1 .Set(fNrows+1);
fIw2 .Set(fNsteps+1);
//   fFact.Set((Int_t) 1.2*this->MinRealWorkspace()+1);
fFact.Set((Int_t) 3*this->MinRealWorkspace()+1);

SetBit(kMatrixSet);
}

//______________________________________________________________________________
Bool_t TDecompSparse::Decompose()
{
// Decomposition engine .
// If the decomposition succeeds, bit kDecomposed is set .

if (TestBit(kDecomposed)) return kTRUE;

if ( !TestBit(kMatrixSet) ) {
Error("Decompose()","Matrix has not been set");
return kFALSE;
}

Int_t done = 0; Int_t tries = 0;
do {
fFact[0] = 0.;
CopyUpperTriang(fA,fFact.GetArray()+1);

Factor(fNrows,fNnonZeros,fRowFact,fColFact,fFact,fIw,fIkeep,
fNsteps,fMaxfrt,fIw1,fIcntl,fCntl,fInfo);

switch ( this->ErrorFlag() ) {
case 0 :
done = 1;
break;
case -1 :
Error("Decompose()","nRows  = %d out of range",fNrows);
return kFALSE;
case -2 :
Error("Decompose()","nr_nonzeros  = %d out of range",fNnonZeros);
return kFALSE;
case -3 :
{
if (fVerbose)
Info("Decompose()","insufficient space of fIw: %d",fIw.GetSize());
const Int_t nIw_old = fIw.GetSize();
const Int_t nIw = (this->IError() > fIPessimism*nIw_old) ? this->IError() :
(Int_t)(fIPessimism*nIw_old);
fIw.Set(nIw);
if (fVerbose)
Info("Decompose()","resetting to fIw: %d",nIw);
fIPessimism *= 1.1;
break;
}
case -4 :
{
if (fVerbose)
Info("Decompose()","insufficient factorization space: %d",fFact.GetSize());
const Int_t nFact_old = fFact.GetSize();
const Int_t nFact = (this->IError() > fRPessimism*nFact_old) ? this->IError() :
(Int_t) (fRPessimism*nFact_old);
fFact.Set(nFact); fFact.Reset(0.0);
CopyUpperTriang(fA,fFact.GetArray()+1);
if (fVerbose)
Info("Decompose()","reseting to: %d",nFact);
fRPessimism *= 1.1;
break;
}
case -5 :
if (fVerbose) {
Info("Decompose()","matrix apparently numerically singular");
Info("Decompose()","detected at stage %d",this->IError());
Info("Decompose()","accept this factorization and hope for the best..");
}
done = 1;
break;
case -6 :
if (fVerbose) {
Info("Decompose()","change of sign of pivots detected at stage %d",this->IError());
Info("Decompose()","but who cares ");
}
done = 1;
break;
case -7 :
Error("Decompose()","value of fNsteps out of range: %d",fNsteps);
return kFALSE;
case 1 :
if (fVerbose) {
Info("Decompose()","detected %d entries out of range in row/column index",this->IError());
Info("Decompose()","they are ignored");
}
done = 1;
break;
case 3 :
if (fVerbose)
Info("Decompose()","rank deficient matrix detected; apparent rank = %d",this->IError());
done = 1;
break;
default:
break;
}

tries++;
} while (!done && tries < 10);

Int_t ok;
if ( !done && tries >= 10) {
ok = kFALSE;
if (fVerbose)
Error("Decompose()","did not get a factorization after 10 tries");
} else {
ok = kTRUE;
SetBit(kDecomposed);
}

return ok;
}

//______________________________________________________________________________
Bool_t TDecompSparse::Solve(TVectorD &b)
{
// Solve Ax=b . Solution returned in b.

R__ASSERT(b.IsValid());
if (TestBit(kSingular)) {
Error("Solve()","Matrix is singular");
return kFALSE;
}
if ( !TestBit(kDecomposed) ) {
if (!Decompose()) {
Error("Solve()","Decomposition failed");
return kFALSE;
}
}

if (fNrows != b.GetNrows() || fRowLwb != b.GetLwb())
{
Error("Solve(TVectorD &","vector and matrix incompatible");
return kFALSE;
}
b.Shift(-fRowLwb); // make sure rowlwb = 0

// save bs and store residuals
TVectorD resid = b;
TVectorD bSave = b;

Double_t bnorm = b.NormInf();
Double_t rnorm = 0.0;

Int_t done = 0;
Int_t refactorizations = 0;

while (!done && refactorizations < 10) {

Solve(fNrows,fFact,fIw,fW,fMaxfrt,b,fIw1,fNsteps,fIcntl,fInfo);

// compute residuals
resid = fA*b-resid;
rnorm = resid.NormInf();

if (rnorm < fPrecision*(1.+bnorm)) {
// residuals are small enough, use this solution
done = 1;
} else if (this->GetThresholdPivoting() >= kThresholdPivotingMax
|| refactorizations > 10)  {
// ThresholdPivoting parameter is already too high; give up and
// use this solution, whatever it is (the algorithm may bomb in
// an outer loop).
done = 1;
} else {
// refactor with a higher Threshold Pivoting parameter
Double_t tp = this->GetThresholdPivoting();
tp *= kThresholdPivotingFactor;
if (tp > kThresholdPivotingMax) tp = kThresholdPivotingMax;
this->SetThresholdPivoting(tp);
if (fVerbose)
Info("Solve","Setting ThresholdPivoting parameter to %.4e for future factorizations",
this->GetThresholdPivoting());

SetMatrix(fA);
refactorizations++;
resid = bSave;
b     = bSave;
}
}

b.Shift(fRowLwb);
return kTRUE;
}

//______________________________________________________________________________
void TDecompSparse::InitParam()
{
// initializing control parameters

fPrecision  = kInitPrecision;
fIPessimism = 1.2;
fRPessimism = 1.2;

const Int_t ifrlvl = 5;

SetVerbose(fVerbose);
fIcntl[4] = 2139062143;
fIcntl[5] = 1;
fIcntl[ifrlvl+1]  = 32639;
fIcntl[ifrlvl+2]  = 32639;
fIcntl[ifrlvl+3]  = 32639;
fIcntl[ifrlvl+4]  = 32639;
fIcntl[ifrlvl+5]  = 14;
fIcntl[ifrlvl+6]  = 9;
fIcntl[ifrlvl+7]  = 8;
fIcntl[ifrlvl+8]  = 8;
fIcntl[ifrlvl+9]  = 9;
fIcntl[ifrlvl+10] = 10;
fIcntl[ifrlvl+11] = 32639;
fIcntl[ifrlvl+12] = 32639;
fIcntl[ifrlvl+13] = 32639;
fIcntl[ifrlvl+14] = 32689;
fIcntl[ifrlvl+15] = 24;
fIcntl[ifrlvl+16] = 11;
fIcntl[ifrlvl+17] = 9;
fIcntl[ifrlvl+18] = 8;
fIcntl[ifrlvl+19] = 9;
fIcntl[ifrlvl+20] = 10;
fIcntl[26] = 0;
fIcntl[27] = 0;
fIcntl[28] = 0;
fIcntl[29] = 0;
fIcntl[30] = 0;
fCntl[1] = 0.10;
fCntl[2] = 1.00;
fCntl[3] = 0.00;
fCntl[4] = 0.0;
fCntl[5] = 0.0;

// set initial value of "Treat As Zero" parameter
this->SetTreatAsZero(kInitTreatAsZero);

// set initial value of Threshold parameter
this->SetThresholdPivoting(kInitThresholdPivoting);

fNsteps    = 0;
fMaxfrt    = 0;
fNrows     = 0;
fNnonZeros = 0;
}

//______________________________________________________________________________
void TDecompSparse::InitPivot(const Int_t n,const Int_t nz,TArrayI &Airn,TArrayI &Aicn,
TArrayI &Aiw,TArrayI &Aikeep,TArrayI &Aiw1,Int_t &nsteps,
const Int_t iflag,Int_t *icntl,Double_t *cntl,Int_t *info,
Double_t &ops)
{
// Setup Pivoting variables

Int_t i,iwfr,k,l1,l2,lliw;

Int_t *irn      = Airn.GetArray();
Int_t *icn      = Aicn.GetArray();
Int_t *iw       = Aiw.GetArray();
Int_t *ikeep    = Aikeep.GetArray();
Int_t *iw1      = Aiw1.GetArray();
const Int_t liw = Aiw.GetSize()-1;

for (i = 1; i < 16; i++)
info[i] = 0;

if (icntl[3] > 0 && icntl[2] > 0) {
::Info("TDecompSparse::InitPivot","Start with n = %d  nz = %d  liw = %d  iflag = %d",n,nz,liw,iflag);
nsteps = 0;
k = TMath::Min(8,nz);
if (icntl[3] > 1) k = nz;
if (k > 0) {
printf("matrix non-zeros:\n");
for (i = 1; i < k+1; i++) {
printf("%d %d ",irn[i],icn[i]);
if (i%5 == 0 || i == k) printf("\n");
}
}

k = TMath::Min(10,n);
if (icntl[3] > 1) k = n;
if (iflag == 1 && k > 0) {
for (i = 1; i < k+1; i++) {
printf("%d ",ikeep[i]);
if (i%10 == 0 || i == k) printf("\n");
}
}
}

if (n >= 1 && n <= icntl[4]) {
if (nz < 0) {
info[1] = -2;
if (icntl[1] > 0)
::Error("TDecompSparse::InitPivot","info[1]= %d; value of nz out of range .. = %d",info[1],nz);
return;
}
lliw = liw-2*n;
l1 = lliw+1;
l2 = l1+n;
if (iflag != 1) {
if (liw < 2*nz+3*n+1) {
info[1] = -3;
info[2] = 2*nz+3*n+1;
if (icntl[1] > 0)
::Error("TDecompSparse::InitPivot","info[1]= %d; liw too small, must be increased from %d to at least %d",info[1],liw,info[2]);
return;
}
InitPivot_sub1(n,nz,irn,icn,iw,iw1,iw1+n+1,iw+l1-1,iwfr,icntl,info);
InitPivot_sub2(n,iw1,iw,lliw,iwfr,iw+l1-1,iw+l2-1,ikeep+n+1,
ikeep+2*(n+1),ikeep,icntl[4],info[11],cntl[2]);
} else {
if (liw < nz+3*n+1) {
info[1] = -3;
info[2] = nz+3*n+1;
if (icntl[1] > 0)
::Error("TDecompSparse::InitPivot","info[1]= %d; liw too small, must be increased from %d to at least %d",info[1],liw,info[2]);
return;
}
InitPivot_sub3(n,nz,irn,icn,ikeep,iw,iw1,iw1+n+1,iw+l1-1,iwfr,icntl,info);
InitPivot_sub4(n,iw1,iw,lliw,iwfr,ikeep,ikeep+n+1,iw+l1-1,iw+l2-1,info[11]);
}
InitPivot_sub5(n,iw1,iw+l1-1,ikeep,ikeep+n+1,ikeep+2*(n+1),iw+l2-1,nsteps,icntl[5]);
if (nz >= 1) iw[1] = irn[1]+1;
InitPivot_sub6(n,nz,irn,icn,ikeep,ikeep+2*(n+1),ikeep+n+1,iw+l2-1,
nsteps,iw1,iw1+n+1,iw,info,ops);
} else {
info[1] = -1;
if (icntl[1] > 0)
::Error("TDecompSparse::InitPivot","info[1]= %d; value of n out of range ... = %d",info[1],n);
return;
}

if (icntl[3] <= 0 || icntl[2] <= 0) return;

printf("Leaving with nsteps =%d info(1)=%d ops=%14.5e ierror=%d\n",nsteps,info[1],ops,info[2]);
info[3],info[4],info[5],info[6],info[7],info[8],info[11]);

k = TMath::Min(9,n);
if (icntl[3] > 1) k = n;
if (k > 0) {
printf("ikeep[0][.]=\n");
for (i = 1; i < k+1; i++) {
printf("%d ",ikeep[i]);
if (k%10 == 0 || i == k) printf("\n");
}
}
k = TMath::Min(k,nsteps);
if (k > 0) {
printf("ikeep[2][.]=\n");
for (i = 1; i < k+1; i++) {
printf("%d ",ikeep[2*(n+1)+i]);
if (k%10 == 0 || i == k) printf("\n");
}
}
}

//______________________________________________________________________________
void TDecompSparse::Factor(const Int_t n,const Int_t nz,TArrayI &Airn,TArrayI &Aicn,TArrayD &Aa,
TArrayI &Aiw,TArrayI &Aikeep,const Int_t nsteps,Int_t &maxfrt,
TArrayI &Aiw1,Int_t *icntl,Double_t *cntl,Int_t *info)
{
// Factorization routine, the workhorse for the decompostion step

Int_t i,iapos,iblk,ipos,irows,j1,j2,jj,k,kblk,kz,len,ncols,nrows,nz1;

Int_t    *irn   = Airn.GetArray();
Int_t    *icn   = Aicn.GetArray();
Int_t    *iw    = Aiw.GetArray();
Int_t    *ikeep = Aikeep.GetArray();
Int_t    *iw1   = Aiw1.GetArray();
Double_t *a     = Aa.GetArray();

const Int_t la = Aa.GetSize()-1;
const Int_t liw = Aiw.GetSize()-1;

info[1] = 0;
if (icntl[3] > 0 && icntl[2] > 0) {
printf("entering Factor with n=%d nz=%d la=%d liw=%d nsteps=%d u=%10.2e\n",
n,nz,la,liw,nsteps,cntl[1]);
kz = TMath::Min(6,nz);
if (icntl[3] > 1) kz = nz;
if (nz > 0) {
printf("matrix non-zeros:\n");
for (i = 1; i < kz+1; i++) {
printf("%16.3e %d %d ",a[i],irn[i],icn[i]);
if (i%2 == 0 || i==kz) printf("\n");
}
}
k = TMath::Min(9,n);
if (icntl[3] > 1) k = n;
if (k > 0) {
printf("ikeep(0,.)=\n");
for (i = 1; i < k+1; i++) {
printf("%d ",ikeep[i]);
if (i%10 == 0 || i == k) printf("\n");
}
}
k = TMath::Min(k,nsteps);
if (k > 0) {
printf("ikeep(1,.)=\n");
for (i = 1; i < k+1; i++) {
printf("%d ",ikeep[n+1+i]);
if (i%10 == 0 || i == k) printf("\n");
}
printf("ikeep(2,.)=\n");
for (i = 1; i < k+1; i++) {
printf("%d ",ikeep[2*(n+1)+i]);
if (i%10 == 0 || i == k) printf("\n");
}
}
}

if (n < 1 || n > icntl[4])
info[1] = -1;
else if (nz < 0)
info[1] = -2;
else if (liw < nz) {
info[1] = -3;
info[2] = nz;
} else if (la < nz+n) {
info[1] = -4;
info[2] = nz+n;
} else if (nsteps < 1 || nsteps > n)
info[1] = -7;
else {
Factor_sub1(n,nz,nz1,a,la,irn,icn,iw,liw,ikeep,iw1,icntl,info);
if (info[1] != -3 && info[1] != -4) {
Factor_sub2(n,nz1,a,la,iw,liw,ikeep,ikeep+2*(n+1),nsteps,maxfrt,ikeep+n+1,iw1,icntl,cntl,info);
if (info[1] == 3 && icntl[2] > 0)
::Warning("TDecompSparse::Factor","info[1]= %d; matrix is singular. rank=%d",info[1],info[2]);
}
}

if (icntl[1] > 0) {
switch(info[1]) {
case -1:
::Error("TDecompSparse::Factor","info[1]= %d; value of n out of range ... =%d",info[1],n);
break;

case -2:
::Error("TDecompSparse::Factor","info[1]= %d; value of nz out of range ... =%d",info[1],nz);
break;

case -3:
::Error("TDecompSparse::Factor","info[1]= %d; liw too small, must be increased from %d to at least %d",info[1],liw,info[2]);
break;

case -4:
::Error("TDecompSparse::Factor","info[1]= %d; la too small, must be increased from %d to at least %d",info[1],la,info[2]);
break;

case -5:
::Error("TDecompSparse::Factor","info[1]= %d; zero pivot at stage %d zero pivot at stage",info[1],info[2]);
break;

case -6:
::Error("TDecompSparse::Factor","info[1]= %d; change in sign of pivot encountered when factoring allegedly definite matrix",info[1]);
break;

case -7:
::Error("TDecompSparse::Factor","info[1]= %d; nsteps is out of range",info[1]);
break;
}
}

if (icntl[3] <= 0 || icntl[2] <= 0 || info[1] < 0)
return;

::Info("TDecompSparse::Factor","leaving Factor with maxfrt=%d info[1]=%d nrlbdu=%d nirbdu=%d ncmpbr=%d ncmpbi=%d ntwo=%d ierror=%d",
maxfrt,info[1],info[9],info[10],info[12],info[13],info[14],info[2]);

if (info[1] < 0) return;

kblk = TMath::Abs(iw[1]+0);
if (kblk == 0) return;
if (icntl[3] == 1) kblk = 1;
ipos = 2;
iapos = 1;

for (iblk = 1; iblk < kblk+1; iblk++) {
ncols = iw[ipos];
nrows = iw[ipos+1];
j1 = ipos+2;
if (ncols <= 0) {
ncols = -ncols;
nrows = 1;
j1 = j1-1;
}
::Info("TDecompSparse::Factor","block pivot =%d nrows =%d ncols =%d",iblk,nrows,ncols);
j2 = j1+ncols-1;
ipos = j2+1;

printf(" column indices =\n");
for (jj = j1; jj < j2+1; jj++) {
printf("%d ",iw[jj]);
if (jj%10 == 0 || jj == j2) printf("\n");
}

printf(" real entries .. each row starts on a new line\n");
len = ncols;
for (irows = 1; irows < nrows+1; irows++) {
j1 = iapos;
j2 = iapos+len-1;
for (jj = j1; jj < j2+1; jj++) {
printf("%13.4e ",a[jj]);
if (jj%5 == 0 || jj == j2) printf("\n");
}
len = len-1;
iapos = j2+1;
}
}
}

//______________________________________________________________________________
void TDecompSparse::Solve(const Int_t n,TArrayD &Aa,TArrayI &Aiw,
TArrayD &Aw,const Int_t maxfrt,TVectorD &b,TArrayI &Aiw1,
const Int_t nsteps,Int_t *icntl,Int_t *info)
{
// Main routine for solving Ax=b

Int_t i,iapos,iblk,ipos,irows,j1,j2,jj,k,kblk,latop,len,nblk,ncols,nrows;

Double_t *a   = Aa.GetArray();
Double_t *w   = Aw.GetArray();
Int_t    *iw  = Aiw.GetArray();
Int_t    *iw1 = Aiw1.GetArray();
Double_t *rhs = new Double_t[n+1];
rhs[0] = 0.;
memcpy(rhs+1,b.GetMatrixArray(),n*sizeof(Double_t));
const Int_t la  = Aa.GetSize()-1;
const Int_t liw = Aiw.GetSize()-1;

info[1] = 0;
k = 0;
if (icntl[3] > 0 && icntl[2] > 0) {
printf("nentering Solve with n=%d la=%d liw=%d maxfrt=%d nsteps=%d",n,la,liw,maxfrt,nsteps);

kblk = TMath::Abs(iw[1]+0);
if (kblk != 0) {
if (icntl[3] == 1) kblk = 1;
ipos = 2;
iapos = 1;
for (iblk = 1; iblk < kblk+1; iblk++) {
ncols = iw[ipos];
nrows = iw[ipos+1];
j1 = ipos+2;
if (ncols <= 0) {
ncols = -ncols;
nrows = 1;
j1 = j1-1;
}
printf("block pivot=%d nrows=%d ncols=%d\n",iblk,nrows,ncols);
j2 = j1+ncols-1;
ipos = j2+1;
printf("column indices =\n");
for (jj = j1; jj < j2+1; jj++) {
printf("%d ",iw[jj]);
if (jj%10 == 0 || jj == j2) printf("\n");
}
printf("real entries .. each row starts on a new line\n");
len = ncols;
for (irows = 1; irows < nrows+1; irows++) {
j1 = iapos;
j2 = iapos+len-1;
for (jj = j1; jj < j2+1; jj++) {
printf("%13.3e ",a[jj]);
if (jj%5 == 0 || jj == j2) printf("\n");
}
len = len-1;
iapos = j2+1;
}
}
}

k = TMath::Min(10,n);
if (icntl[3] > 1) k = n;
if (n > 0) {
printf("rhs =\n");
for (i = 1; i < k+1; i++) {
printf("%13.3e ",rhs[i]);
if (i%5 == 0 || i == k) printf("\n");
}
}
}

nblk = 0;
if (iw[1] == 0) {
nblk = 0;
for (i = 1; i < n+1; i++)
rhs[i] = 0.0;
} else {
nblk = (iw[1] <= 0) ? -iw[1] : iw[1];
Solve_sub1(n,a,iw+1,w,rhs,iw1,nblk,latop,icntl);
Solve_sub2(n,a,iw+1,w,rhs,iw1,nblk,latop,icntl);
}

if (icntl[3] > 0 && icntl[2] > 0) {
printf("leaving Solve with:\n");
if (n > 0) {
printf("rhs =\n");
for (i = 1; i < k+1; i++) {
printf("%13.3e ",rhs[i]);
if (i%5 == 0 || i == k) printf("\n");
}
}
}

memcpy(b.GetMatrixArray(),rhs+1,n*sizeof(Double_t));
delete [] rhs;
}

//______________________________________________________________________________
void TDecompSparse::InitPivot_sub1(const Int_t n,const Int_t nz,Int_t *irn,Int_t *icn,
Int_t *iw,Int_t *ipe,Int_t *iq,Int_t *flag,
Int_t &iwfr,Int_t *icntl,Int_t *info)
{
// Help routine for pivoting setup

Int_t i,id,j,jn,k,k1,k2,l,last,lr,n1,ndup;

info[2] = 0;
for (i = 1; i < n+1; i++)
ipe[i] = 0;
lr = nz;

if (nz != 0) {
for (k = 1; k < nz+1; k++) {
i = irn[k];
j = icn[k];

Bool_t outRange = (i < 1 || i > n || j < 1 || j > n);
if (outRange) {
info[2] = info[2]+1;
info[1] = 1;
if (info[2] <= 1 && icntl[2]> 0)
::Warning("TDecompSparse::InitPivot_sub1","info[1]= %d; %d th non-zero (in row=%d and column=%d) ignored",info[1],k,i,j);
}

if (outRange || i == j) {
i = 0;
j = 0;
} else {
ipe[i] = ipe[i]+1;
ipe[j] = ipe[j]+1;
}
iw[k] = j;
lr = lr+1;
iw[lr] = i;
}
}

iq[1] = 1;
n1 = n-1;
if (n1 > 0) {
for (i = 1; i < n1+1; i++) {
flag[i] = 0;
if (ipe[i] == 0) ipe[i] = -1;
iq[i+1] = ipe[i]+iq[i]+1;
ipe[i] = iq[i];
}
}

last = ipe[n]+iq[n];
flag[n] = 0;
if (lr < last) {
k1 = lr+1;
for (k = k1; k < last+1; k++)
iw[k] = 0;
}
ipe[n] = iq[n];
iwfr = last+1;
if (nz != 0) {
for (k = 1; k < nz+1; k++) {
j = iw[k];
if (j <= 0)  continue;
l = k;
iw[k] = 0;
for (id = 1; id < nz+1; id++) {
if (l <= nz)
l = l+nz;
else
l = l-nz;
i = iw[l];
iw[l] = 0;
if (i >= j) {
l = iq[j]+1;
iq[j] = l;
jn = iw[l];
iw[l] = -i;
} else {
l = iq[i]+1;
iq[i] = l;
jn = iw[l];
iw[l] = -j;
}
j = jn;
if (j <= 0) break;
}
}
}

ndup = 0;

for (i = 1; i < n+1; i++) {
k1 = ipe[i]+1;
k2 = iq[i];
if (k1 > k2) {
ipe[i] = 0;
iq[i] = 0;
} else {
for (k = k1; k < k2+1; k++) {
j = -iw[k];
if (j <= 0) break;
l = iq[j]+1;
iq[j] = l;
iw[l] = i;
iw[k] = j;
if (flag[j] == i) {
ndup = ndup + 1;
iw[l] = 0;
iw[k] = 0;
}
flag[j] = i;
}

iq[i] = iq[i]-ipe[i];
if (ndup == 0) iw[k1-1] = iq[i];
}
}

if (ndup != 0) {
iwfr = 1;
for (i = 1; i < n+1; i++) {
k1 = ipe[i]+1;
if (k1 == 1) continue;
k2 = iq[i]+ipe[i];
l = iwfr;
ipe[i] = iwfr;
iwfr = iwfr+1;
for (k = k1; k < k2+1; k++) {
if (iw[k] == 0) continue;
iw[iwfr] = iw[k];
iwfr = iwfr+1;
}
iw[l] = iwfr-l-1;
}
}

}

//______________________________________________________________________________
void TDecompSparse::InitPivot_sub2(const Int_t n,Int_t *ipe,Int_t *iw,const Int_t lw,
Int_t &iwfr,Int_t *nv,Int_t *nxt,Int_t *lst,Int_t *ipd,
Int_t *flag,const Int_t iovflo,Int_t &ncmpa,
const Double_t fratio)
{
// Help routine for pivoting setup

Int_t i,id,idl,idn,ie,ip,is,jp,jp1,jp2,js,k,k1,k2,ke,kp,kp0,kp1,
kp2,ks,l,len,limit,ln,ls,lwfr,md,me,ml,ms,nel,nflg,np,
np0,ns,nvpiv,nvroot,root;

for (i = 1; i < n+1; i++) {
ipd[i]  = 0;
nv[i]   = 1;
flag[i] = iovflo;
}

js = 0;
ms = 0;
ncmpa = 0;
md     = 1;
nflg   = iovflo;
nel    = 0;
root   = n+1;
nvroot = 0;
for (is = 1; is < n+1; is++) {
k = ipe[is];
if (k > 0) {
id = iw[k]+1;
ns = ipd[id];
if (ns > 0) lst[ns] = is;
nxt[is] = ns;
ipd[id] = is;
lst[is] = -id;
} else {
nel = nel+1;
flag[is] = -1;
nxt[is]  = 0;
lst[is]  = 0;
}
}

for (ml = 1; ml < n+1; ml++) {
if (nel+nvroot+1 >= n) break;
for (id = md; id < n+1; id++) {
ms = ipd[id];
if (ms > 0) break;
}

md = id;
nvpiv = nv[ms];
ns = nxt[ms];
nxt[ms] = 0;
lst[ms] = 0;
if (ns > 0) lst[ns] = -id;
ipd[id] = ns;
me = ms;
nel = nel+nvpiv;
idn = 0;
kp = ipe[me];
flag[ms] = -1;
ip = iwfr;
len = iw[kp];
jp = 0;
for (kp1 = 1; kp1 < len+1; kp1++) {
kp = kp+1;
ke = iw[kp];
if (flag[ke] > -2) {
if (flag[ke] <= 0) {
if (ipe[ke] != -root) continue;
ke = root;
if (flag[ke] <= 0) continue;
}
jp = kp-1;
ln = len-kp1+1;
ie = ms;
} else {
ie = ke;
jp = ipe[ie];
ln = iw[jp];
}

for (jp1 = 1; jp1 < ln+1; jp1++) {
jp = jp+1;
is = iw[jp];
if (flag[is] <= 0) {
if (ipe[is] == -root) {
is = root;
iw[jp] = root;
if (flag[is] <= 0) continue;
} else
continue;
}
flag[is] = 0;
if (iwfr >= lw) {
ipe[ms] = kp;
iw[kp] = len-kp1;
ipe[ie] = jp;
iw[jp] = ln-jp1;
InitPivot_sub2a(n,ipe,iw,ip-1,lwfr,ncmpa);
jp2 = iwfr-1;
iwfr = lwfr;
if (ip <= jp2) {
for (jp = ip; jp < jp2+1; jp++) {
iw[iwfr] = iw[jp];
iwfr = iwfr+1;
}
}
ip = lwfr;
jp = ipe[ie];
kp = ipe[me];
}
iw[iwfr] = is;
idn = idn+nv[is];
iwfr = iwfr+1;
ls = lst[is];
lst[is] = 0;
ns = nxt[is];
nxt[is] = 0;
if (ns > 0) lst[ns] = ls;
if (ls < 0) {
ls = -ls;
ipd[ls] = ns;
} else if (ls > 0)
nxt[ls] = ns;
}

if (ie == ms)
break;
ipe[ie] = -me;
flag[ie] = -1;
}

nv[ms] = idn+nvpiv;
if (iwfr != ip) {
k1 = ip;
k2 = iwfr-1;
limit = TMath::Nint(fratio*(n-nel));

for (k = k1; k < k2+1; k++) {
is = iw[k];
if (is == root) continue;
if (nflg <= 2)  {
for (i = 1; i < n+1; i++) {
if (flag[i] > 0)   flag[i] =  iovflo;
if (flag[i] <= -2) flag[i] = -iovflo;
}
nflg = iovflo;
}
nflg = nflg-1;
id = idn;
kp1 = ipe[is]+1;
np  = kp1;
kp2 = iw[kp1-1]+kp1-1;

Int_t skip = 0;
for (kp = kp1; kp < kp2+1; kp++) {
ke = iw[kp];
if (flag[ke] == -1) {
if (ipe[ke] != -root) continue;
ke = root;
iw[kp] = root;
if (flag[ke] == -1) continue;
}
if (flag[ke] >= 0) {
skip = 1;
break;
}
jp1 = ipe[ke]+1;
jp2 = iw[jp1-1]+jp1-1;
idl = id;
for (jp = jp1; jp < jp2+1; jp++) {
js = iw[jp];
if (flag[js] <= nflg) continue;
id = id+nv[js];
flag[js] = nflg;
}
if (id <= idl) {
Int_t skip2 = 0;
for (jp = jp1; jp < jp2+1; jp++) {
js = iw[jp];
if (flag[js] != 0) {
skip2 = 1;
break;
}
}
if (skip2) {
iw[np] = ke;
flag[ke] = -nflg;
np = np+1;
} else {
ipe[ke] = -me;
flag[ke] = -1;
}
} else {
iw[np] = ke;
flag[ke] = -nflg;
np = np+1;
}
}

if (!skip)
np0 = np;
else {
np0 = np;
kp0 = kp;
for (kp = kp0; kp < kp2+1; kp++) {
ks = iw[kp];
if (flag[ks] <= nflg) {
if (ipe[ks] == -root) {
ks = root;
iw[kp] = root;
if (flag[ks] <= nflg) continue;
} else
continue;
}
id = id+nv[ks];
flag[ks] = nflg;
iw[np] = ks;
np = np+1;
}
}

Int_t doit = 2;
if (id < limit) {
iw[np] = iw[np0];
iw[np0] = iw[kp1];
iw[kp1] = me;
iw[kp1-1] = np-kp1+1;
js = ipd[id];
for (l = 1; l < n+1; l++) {
if (js <= 0) {
doit = 3;
break;
}
kp1 = ipe[js]+1;
if (iw[kp1] != me) {
doit = 3;
break;
}
kp2 = kp1-1+iw[kp1-1];
Int_t stayInLoop = 0;
for (kp = kp1; kp < kp2+1; kp++) {
ie = iw[kp];
if (TMath::Abs(flag[ie]+0) > nflg) {
stayInLoop = 1;
break;
}
}
if (!stayInLoop) {
doit = 1;
break;
}
js = nxt[js];
}
}

if (doit == 1) {
ipe[js] = -is;
nv[is] = nv[is]+nv[js];
nv[js] = 0;
flag[js] = -1;
ns = nxt[js];
ls = lst[js];
if (ns > 0) lst[ns] = is;
if (ls > 0) nxt[ls] = is;
lst[is] = ls;
nxt[is] = ns;
lst[js] = 0;
nxt[js] = 0;
if (ipd[id] == js) ipd[id] = is;
} else if (doit == 2) {
if (nvroot == 0) {
root = is;
ipe[is] = 0;
} else {
iw[k] = root;
ipe[is] = -root;
nv[root] = nv[root]+nv[is];
nv[is] = 0;
flag[is] = -1;
}
nvroot = nv[root];
} else if (doit == 3) {
ns = ipd[id];
if (ns > 0) lst[ns] = is;
nxt[is] = ns;
ipd[id] = is;
lst[is] = -id;
md = TMath::Min(md,id);
}
}

for (k = k1; k < k2+1; k++) {
is = iw[k];
if (nv[is] == 0) continue;
flag[is] = nflg;
iw[ip] = is;
ip = ip+1;
}
iwfr = k1;
flag[me] = -nflg;
iw[ip] = iw[k1];
iw[k1] = ip-k1;
ipe[me] = k1;
iwfr = ip+1;
} else
ipe[me] = 0;
}

for (is = 1; is < n+1; is++) {
if (nxt[is] != 0 || lst[is] != 0) {
if (nvroot == 0) {
root = is;
ipe[is] = 0;
} else {
ipe[is] = -root;
}
nvroot = nvroot+nv[is];
nv[is] = 0;
}
}

for (ie = 1; ie < n+1; ie++)
if (ipe[ie] > 0) ipe[ie] = -root;

if (nvroot> 0) nv[root] = nvroot;
}

//______________________________________________________________________________
void TDecompSparse::InitPivot_sub2a(const Int_t n,Int_t *ipe,Int_t *iw,const Int_t lw,
Int_t &iwfr,Int_t &ncmpa)
{
// Help routine for pivoting setup

Int_t i,ir,k,k1,k2,lwfr;

ncmpa = ncmpa+1;
for (i = 1; i < n+1; i++) {
k1 = ipe[i];
if (k1 <= 0)  continue;
ipe[i] = iw[k1];
iw[k1] = -i;
}

iwfr = 1;
lwfr = iwfr;
for (ir = 1; ir < n+1; ir++) {
if (lwfr > lw) break;
Int_t skip = 1;
for (k = lwfr; k < lw+1; k++) {
if (iw[k] < 0) {
skip = 0;
break;
}
}
if (skip) break;
i = -iw[k];
iw[iwfr] = ipe[i];
ipe[i] = iwfr;
k1 = k+1;
k2 = k+iw[iwfr];
iwfr = iwfr+1;
if (k1 <= k2)  {
for (k = k1; k < k2+1; k++) {
iw[iwfr] = iw[k];
iwfr = iwfr+1;
}
}
lwfr = k2+1;
}
}

//______________________________________________________________________________
void TDecompSparse::InitPivot_sub3(const Int_t n,const Int_t nz,Int_t *irn,Int_t *icn,
Int_t *perm,Int_t *iw,Int_t *ipe,Int_t *iq,
Int_t *flag,Int_t &iwfr,Int_t *icntl,Int_t *info)
{
// Help routine for pivoting setup

Int_t i,id,in,j,jdummy,k,k1,k2,l,lbig,len;

info[1] = 0;
info[2] = 0;
for (i = 1; i < n+1; i++)
iq[i] = 0;

if (nz != 0) {
for (k = 1; k < nz+1; k++) {
i = irn[k];
j = icn[k];
iw[k] = -i;

Bool_t outRange = (i < 1 || i > n || j < 1 || j > n);
if (outRange) {
info[2] = info[2]+1;
info[1] = 1;
if (info[2] <= 1 && icntl[2] > 0)
::Warning("TDecompSparse::InitPivot_sub3","info[1]= %d; %d 'th non-zero (in row %d and column %d) ignored",info[1],k,i,j);
}

if (outRange || i==j) {
iw[k] = 0;
} else {
if (perm[j] <= perm[i])
iq[j] = iq[j]+1;
else
iq[i] = iq[i]+1;
}
}
}

iwfr = 1;
lbig = 0;
for (i = 1; i < n+1; i++) {
l = iq[i];
lbig = TMath::Max(l,lbig);
iwfr = iwfr+l;
ipe[i] = iwfr-1;
}

if (nz != 0) {
for (k = 1; k < nz+1; k++) {
i = -iw[k];
if (i <= 0) continue;
l = k;
iw[k] = 0;
for (id = 1; id < nz+1; id++) {
j = icn[l];
if (perm[i] >= perm[j]) {
l = ipe[j];
ipe[j] = l-1;
in = iw[l];
iw[l] = i;
} else {
l = ipe[i];
ipe[i] = l-1;
in = iw[l];
iw[l] = j;
}
i = -in;
if (i <= 0) continue;
}
}

k = iwfr-1;
l = k+n;
iwfr = l+1;
for (i = 1; i < n+1; i++) {
flag[i] = 0;
j = n+1-i;
len = iq[j];
if (len > 0)  {
for (jdummy = 1; jdummy < len+1; jdummy++) {
iw[l] = iw[k];
k = k-1;
l = l-1;
}
}
ipe[j] = l;
l = l-1;
}

if (lbig < icntl[4]) {
for (i = 1; i < n+1; i++) {
k = ipe[i];
iw[k] = iq[i];
if (iq[i] == 0) ipe[i] = 0;
}
} else {
iwfr = 1;
for (i = 1; i < n+1; i++) {
k1 = ipe[i]+1;
k2 = ipe[i]+iq[i];
if (k1 > k2) {
ipe[i] = 0;
} else {
ipe[i] = iwfr;
iwfr = iwfr+1;
for (k = k1; k < k2+1; k++) {
j = iw[k];
if (flag[j] == i) continue;
iw[iwfr] = j;
iwfr = iwfr+1;
flag[j] = i;
}
k = ipe[i];
iw[k] = iwfr-k-1;
}
}
}
}

}

//______________________________________________________________________________
void TDecompSparse::InitPivot_sub4(const Int_t n,Int_t *ipe,Int_t *iw,const Int_t lw,
Int_t &iwfr,Int_t *ips,Int_t *ipv,Int_t *nv,Int_t *flag,
Int_t &ncmpa)
{
// Help routine for pivoting setup

Int_t i,ie,ip,j,je,jp,jp1,jp2,js,kdummy,ln,lwfr,me,minjs,ml,ms;

for (i = 1; i < n+1; i++) {
flag[i] = 0;
nv[i] = 0;
j = ips[i];
ipv[j] = i;
}

ncmpa = 0;
for (ml = 1; ml < n+1; ml++) {
ms = ipv[ml];
me = ms;
flag[ms] = me;
ip = iwfr;
minjs = n;
ie = me;

for (kdummy = 1; kdummy < n+1; kdummy++) {
jp = ipe[ie];
ln = 0;
if (jp > 0) {
ln = iw[jp];
for (jp1 = 1; jp1 < ln+1; jp1++) {
jp = jp+1;
js = iw[jp];
if (flag[js] == me) continue;
flag[js] = me;
if (iwfr >= lw) {
ipe[ie] = jp;
iw[jp] = ln-jp1;
InitPivot_sub2a(n,ipe,iw,ip-1,lwfr,ncmpa);
jp2 = iwfr-1;
iwfr = lwfr;
if (ip <= jp2)  {
for (jp = ip; jp < jp2+1; jp++) {
iw[iwfr] = iw[jp];
iwfr = iwfr+1;
}
}
ip = lwfr;
jp = ipe[ie];
}
iw[iwfr] = js;
minjs = TMath::Min(minjs,ips[js]+0);
iwfr = iwfr+1;
}
}
ipe[ie] = -me;
je = nv[ie];
nv[ie] = ln+1;
ie = je;
if (ie == 0) break;
}

if (iwfr <= ip) {
ipe[me] = 0;
nv[me] = 1;
} else {
minjs = ipv[minjs];
nv[me] = nv[minjs];
nv[minjs] = me;
iw[iwfr] = iw[ip];
iw[ip] = iwfr-ip;
ipe[me] = ip;
iwfr = iwfr+1;
}
}
}

//______________________________________________________________________________
void TDecompSparse::InitPivot_sub5(const Int_t n,Int_t *ipe,Int_t *nv,Int_t *ips,Int_t *ne,
Int_t *na,Int_t *nd,Int_t &nsteps,const Int_t nemin)
{
// Help routine for pivoting setup

Int_t i,ib,iff,il,is,ison,k,l,nr;

il = 0;
for (i = 1; i < n+1; i++) {
ips[i] = 0;
ne[i] = 0;
}
for (i = 1; i < n+1; i++) {
if (nv[i] > 0) continue;
iff = -ipe[i];
is = -ips[iff];
if (is > 0) ipe[i] = is;
ips[iff] = -i;
}

nr = n+1;
for (i = 1; i < n+1; i++) {
if (nv[i] <= 0) continue;
iff = -ipe[i];
if (iff != 0) {
is = -ips[iff];
if (is > 0)
ipe[i] = is;
ips[iff] = -i;
} else {
nr = nr-1;
ne[nr] = i;
}
}

is = 1;
i = 0;
for (k = 1; k < n+1; k++) {
if (i <= 0) {
i = ne[nr];
ne[nr] = 0;
nr = nr+1;
il = n;
na[n] = 0;
}
for (l = 1; l < n+1; l++) {
if (ips[i] >= 0) break;
ison = -ips[i];
ips[i] = 0;
i = ison;
il = il-1;
na[il] = 0;
}

ips[i] = k;
ne[is] = ne[is]+1;
if (nv[i] > 0) {
if (il < n) na[il+1] = na[il+1]+1;
na[is] = na[il];
nd[is] = nv[i];

Bool_t doit = (na[is] == 1 && (nd[is-1]-ne[is-1] == nd[is])) ||
(na[is] != 1 && ne[is] < nemin && na[is] != 0 && ne[is-1] < nemin);

if (doit) {
na[is-1] = na[is-1]+na[is]-1;
nd[is-1] = nd[is]+ne[is-1];
ne[is-1] = ne[is]+ne[is-1];
ne[is] = 0;
} else {
is = is+1;
}
}

ib = ipe[i];
if (ib >= 0) {
if (ib > 0)
na[il] = 0;
i = ib;
} else {
i = -ib;
il = il+1;
}
}

nsteps = is-1;
}

//______________________________________________________________________________
void TDecompSparse::InitPivot_sub6(const Int_t n,const Int_t nz,Int_t *irn,Int_t *icn,
Int_t *perm,Int_t *na,Int_t *ne,Int_t *nd,const Int_t nsteps,
Int_t *lstki,Int_t *lstkr,Int_t *iw,Int_t *info,Double_t &ops)
{
// Help routine for pivoting setup

Int_t i,inew,iold,iorg,irow,istki,istkr,itop,itree,jold,jorg,k,lstk,nassr,nelim,nfr,nstk,
Double_t delim;

if (nz != 0 && irn[1] == iw[1]) {
irn[1] = iw[1]-1;
nz2 = 0;
for (iold = 1; iold < n+1; iold++) {
inew = perm[iold];
lstki[inew] = lstkr[iold]+1;
nz2 = nz2+lstkr[iold];
}
nz1 = nz2/2+n;
nz2 = nz2+n;
} else {
for (i = 1; i < n+1; i++)
lstki[i] = 1;
nz1 = n;
if (nz != 0) {
for (i = 1; i < nz+1; i++) {
iold = irn[i];
jold = icn[i];
if (iold < 1 || iold > n) continue;
if (jold < 1 || jold > n) continue;
if (iold == jold) continue;
nz1 = nz1+1;
irow = TMath::Min(perm[iold]+0,perm[jold]+0);
lstki[irow] = lstki[irow]+1;
}
}
nz2 = nz1;
}

ops = 0.0;
istki = 0;
istkr = 0;
nirtot = nz1;
nrltot = nz1;
nirnec = nz2;
nrlnec = nz2;
numorg = 0;
itop = 0;
for (itree = 1; itree < nsteps+1; itree++) {
nelim = ne[itree];
delim = Double_t(nelim);
nfr = nd[itree];
nstk = na[itree];
nassr = nfr*(nfr+1)/2;
if (nstk != 0) nassr = nassr-lstkr[itop]+1;
for (iorg = 1; iorg < nelim+1; iorg++) {
jorg = numorg+iorg;
nz2 = nz2-lstki[jorg];
}
numorg = numorg+nelim;
if (nstk > 0) {
for (k = 1; k < nstk+1; k++) {
lstk = lstkr[itop];
istkr = istkr-lstk;
lstk = lstki[itop];
istki = istki-lstk;
itop = itop-1;
}
}
ops = ops+((nfr*delim*(nfr+1)-(2*nfr+1)*delim*(delim+1)/2+delim*(delim+1)*(2*delim+1)/6)/2);
if (itree == nsteps || nfr == nelim) continue;
itop = itop+1;
lstkr[itop] = (nfr-nelim)* (nfr-nelim+1)/2;
lstki[itop] = nfr-nelim+1;
istki = istki+lstki[itop];
istkr = istkr+lstkr[itop];
}

nrlnec = TMath::Max(nrlnec,n+TMath::Max(nz,nz1));
nrltot = TMath::Max(nrltot,n+TMath::Max(nz,nz1));
nrlnec = TMath::Min(nrlnec,nrltot);
nirnec = TMath::Max(nz,nirnec);
nirtot = TMath::Max(nz,nirtot);
nirnec = TMath::Min(nirnec,nirtot);
info[3] = nrltot;
info[4] = nirtot;
info[5] = nrlnec;
info[6] = nirnec;
}

//______________________________________________________________________________
void TDecompSparse::Factor_sub1(const Int_t n,const Int_t nz,Int_t &nz1,Double_t *a,
const Int_t la,Int_t *irn,Int_t *icn,Int_t *iw,const Int_t liw,
Int_t *perm,Int_t *iw2,Int_t *icntl,Int_t *info)
{
// Help routine for factorization

Int_t i,ia,ich,ii,iiw,inew,iold,ipos,j1,j2,jj,jnew,jold,jpos,k;
Double_t anext,anow;

const Double_t zero = 0.0;
info[1] = 0;
ia = la;
for (iold = 1; iold < n+1; iold++) {
iw2[iold] = 1;
a[ia] = zero;
ia = ia-1;
}

info[2] = 0;
nz1 = n;
if (nz != 0) {
for (k = 1; k < nz+1; k++) {
iold = irn[k];
jold = icn[k];
Bool_t outRange = (iold < 1 || iold > n || jold < 1 || jold > n);

inew = perm[iold];
jnew = perm[jold];

if (!outRange && inew == jnew) {
ia = la-n+iold;
a[ia] = a[ia]+a[k];
iw[k] = 0;
} else {
if (!outRange) {
inew = TMath::Min(inew,jnew);
iw2[inew] = iw2[inew]+1;
iw[k] = -iold;
nz1 = nz1+1;
} else {
info[1] = 1;
info[2] = info[2]+1;
if (info[2] <= 1 && icntl[2] > 0)
::Warning("TDecompSparse::Factor_sub1","info[1]= %d; %d 'th non-zero (in row %d and column %d) ignored",
info[1],k,irn[k],icn[k]);
iw[k] = 0;
}
}
}
}

if (nz >= nz1 || nz1 == n) {
k = 1;
for (i = 1; i < n+1; i++) {
k = k+iw2[i];
iw2[i] = k;
}
} else {
k = 1;
for (i = 1; i < n+1; i++) {
k = k+iw2[i]-1;
iw2[i] = k;
}
}

if (nz1 > liw) {
info[1] = -3;
info[2] = nz1;
return;
}

if (nz1+n > la) {
info[1] = -4;
info[2] = nz1+n;
return;
}

if (nz1 != n) {
for (k = 1; k < nz+1; k++) {
iold = -iw[k];
if (iold <= 0) continue;
jold = icn[k];
anow = a[k];
iw[k] = 0;
for (ich = 1; ich < nz+1; ich++) {
inew = perm[iold];
jnew = perm[jold];
inew = TMath::Min(inew,jnew);
if (inew == perm[jold]) jold = iold;
jpos = iw2[inew]-1;
iold = -iw[jpos];
anext = a[jpos];
a[jpos] = anow;
iw[jpos] = jold;
iw2[inew] = jpos;
if (iold == 0) break;
anow = anext;
jold = icn[jpos];
}
}

if (nz < nz1) {
ipos = nz1;
jpos = nz1-n;
for (ii = 1; ii < n+1; ii++) {
i = n-ii+1;
j1 = iw2[i];
j2 = jpos;
if (j1 <= jpos) {
for (jj = j1; jj < j2+1; jj++) {
iw[ipos] = iw[jpos];
a[ipos] = a[jpos];
ipos = ipos-1;
jpos = jpos-1;
}
}
iw2[i] = ipos+1;
ipos = ipos-1;
}
}
}

for (iold = 1; iold < n+1; iold++) {
inew = perm[iold];
jpos = iw2[inew]-1;
ia = la-n+iold;
a[jpos] = a[ia];
iw[jpos] = -iold;
}
ipos = nz1;
ia = la;
iiw = liw;
for (i = 1; i < nz1+1; i++) {
a[ia] = a[ipos];
iw[iiw] = iw[ipos];
ipos = ipos-1;
ia = ia-1;
iiw = iiw-1;
}
}

//______________________________________________________________________________
void TDecompSparse::Factor_sub2(const Int_t n,const Int_t nz,Double_t *a,const Int_t la,
Int_t *iw,const Int_t liw,Int_t *perm,Int_t *nstk,
const Int_t nsteps,Int_t &maxfrt,Int_t *nelim,Int_t *iw2,
Int_t *icntl,Double_t *cntl,Int_t *info)
{
// Help routine for factorization

Double_t amax,amult,amult1,amult2,detpiv,rmax,swop,thresh,tmax,uu;
Int_t ainput,apos,apos1,apos2,apos3,astk,astk2,azero,i,iass;
Int_t ibeg,idummy,iell,iend,iexch,ifr,iinput,ioldps,iorg,ipiv;
Int_t ipmnp,ipos,irow,isnpiv,istk,istk2,iswop,iwpos,j,j1;
Int_t j2,jcol,jdummy,jfirst,jj,jj1,jjj,jlast,jmax,jmxmip,jnew;
Int_t jnext,jpiv,jpos,k,k1,k2,kdummy,kk,kmax,krow,laell,lapos2;
Int_t liell,lnass,lnpiv,lt,ltopst,nass,nblk,newel,nfront,npiv;
Int_t npivp1,ntotpv,numass,numorg,numstk,pivsiz,posfac,pospv1,pospv2;
Int_t ntwo,neig,ncmpbi,ncmpbr,nrlbdu,nirbdu;

const Double_t zero = 0.0;
const Double_t half = 0.5;
const Double_t one  = 1.0;

detpiv = 0.0;
apos3  = 0;
isnpiv = 0;
jmax   = 0;
jpos   = 0;

nblk = 0;
ntwo = 0;
neig = 0;
ncmpbi = 0;
ncmpbr = 0;
maxfrt = 0;
nrlbdu = 0;
nirbdu = 0;
uu = TMath::Min(cntl[1],half);
uu = TMath::Max(uu,-half);
for (i = 1; i < n+1; i++)
iw2[i] = 0;
iwpos = 2;
posfac = 1;
istk = liw-nz+1;
istk2 = istk-1;
astk = la-nz+1;
astk2 = astk-1;
iinput = istk;
ainput = astk;
azero = 0;
ntotpv = 0;
numass = 0;

for (iass = 1; iass < nsteps+1; iass++) {
nass = nelim[iass];
newel = iwpos+1;
jfirst = n+1;
nfront = 0;
numstk = nstk[iass];
ltopst = 1;
lnass = 0;
if (numstk != 0) {
j2 = istk-1;
lnass = nass;
ltopst = ((iw[istk]+1)*iw[istk])/2;
for (iell = 1; iell < numstk+1; iell++) {
jnext = jfirst;
jlast = n+1;
j1 = j2+2;
j2 = j1-1+iw[j1-1];
for (jj = j1; jj < j2+1; jj++) {
j = iw[jj];
if (iw2[j] > 0) continue;
jnew = perm[j];
if (jnew <= numass) nass = nass+1;
for (idummy = 1; idummy < n+1; idummy++) {
if (jnext == n+1) break;
if (perm[jnext] > jnew) break;
jlast = jnext;
jnext = iw2[jlast];
}
if (jlast == n+1)
jfirst = j;
else
iw2[jlast] = j;
iw2[j] = jnext;
jlast = j;
nfront = nfront+1;
}
}
lnass = nass-lnass;
}

numorg = nelim[iass];
j1 = iinput;
for (iorg = 1; iorg < numorg+1; iorg++) {
j = -iw[j1];
for (idummy = 1; idummy < liw+1; idummy++) {
jnew = perm[j];
if (iw2[j] <= 0) {
jlast = n+1;
jnext = jfirst;
for (jdummy = 1; jdummy < n+1; jdummy++) {
if (jnext == n+1) break;
if (perm[jnext] > jnew) break;
jlast = jnext;
jnext = iw2[jlast];
}
if (jlast == n+1)
jfirst = j;
else
iw2[jlast] = j;
iw2[j] = jnext;
nfront = nfront+1;
}
j1 = j1+1;
if (j1 > liw) break;
j = iw[j1];
if (j < 0) break;
}
}

if (newel+nfront >= istk)
Factor_sub3(a,iw,istk,istk2,iinput,2,ncmpbr,ncmpbi);
if (newel+nfront >= istk) {
info[1] = -3;
info[2] = liw+1+newel+nfront-istk;
goto finish;
}

j = jfirst;
for (ifr = 1; ifr < nfront+1; ifr++) {
newel = newel+1;
iw[newel] = j;
jnext = iw2[j];
iw2[j] = newel-(iwpos+1);
j = jnext;
}

maxfrt = TMath::Max(maxfrt,nfront);
iw[iwpos] = nfront;
laell = ((nfront+1)*nfront)/2;
apos2 = posfac+laell-1;
if (numstk != 0) lnass = lnass*(2*nfront-lnass+1)/2;

if (posfac+lnass-1 >= astk || apos2 >= astk+ltopst-1) {
Factor_sub3(a,iw,astk,astk2,ainput,1,ncmpbr,ncmpbi);
if (posfac+lnass-1 >= astk || apos2 >= astk+ltopst-1) {
info[1] = -4;
info[2] = la+TMath::Max(posfac+lnass,apos2-ltopst+2)-astk;
goto finish;
}
}

if (apos2 > azero) {
apos = azero+1;
lapos2 = TMath::Min(apos2,astk-1);
if (lapos2 >= apos) {
for (k= apos; k< lapos2+1; k++)
a[k] = zero;
}
azero = apos2;
}

if (numstk != 0) {
for (iell = 1; iell < numstk+1; iell++) {
j1 = istk+1;
j2 = istk+iw[istk];
for (jj = j1; jj < j2+1; jj++) {
irow = iw[jj];
irow = iw2[irow];
apos = posfac+IDiag(nfront,irow);
for (jjj = jj; jjj < j2+1; jjj++) {
j = iw[jjj];
apos2 = apos+iw2[j]-irow;
a[apos2] = a[apos2]+a[astk];
a[astk] = zero;
astk = astk+1;
}
}
istk = j2+1;
}
}

for (iorg = 1; iorg < numorg+1; iorg++) {
j = -iw[iinput];
irow = iw2[j];
apos = posfac+IDiag(nfront,irow);
for (idummy = 1; idummy < nz+1; idummy++) {
apos2 = apos+iw2[j]-irow;
a[apos2] = a[apos2]+a[ainput];
ainput = ainput+1;
iinput = iinput+1;
if (iinput > liw) break;
j = iw[iinput];
if (j < 0) break;
}
}
numass = numass+numorg;
j1 = iwpos+2;
j2 = iwpos+nfront+1;
for (k = j1; k < j2+1; k++) {
j = iw[k];
iw2[j] = 0;
}

lnpiv = -1;
npiv = 0;
for (kdummy = 1; kdummy < nass+1; kdummy++) {
if (npiv == nass) break;
if (npiv == lnpiv) break;
lnpiv = npiv;
npivp1 = npiv+1;
jpiv = 1;
for (ipiv = npivp1; ipiv < nass+1; ipiv++) {
jpiv = jpiv-1;
if (jpiv == 1) continue;
apos = posfac+IDiag(nfront-npiv,ipiv-npiv);

if (uu <= zero) {
if (TMath::Abs(a[apos]) <= cntl[3]) {
info[1] = -5;
info[2] = ntotpv+1;
goto finish;
}
if (ntotpv <=  0) {
if (a[apos] > zero) isnpiv = 1;
if (a[apos] < zero) isnpiv = -1;
}
if ((a[apos] <= zero || isnpiv !=  1) && (a[apos] >= zero || isnpiv != -1)) {
if (info[1] != 2) info[2] = 0;
info[2] = info[2]+1;
info[1] = 2;
i = ntotpv+1;
if (icntl[2] > 0 && info[2] <= 10)
::Warning("TDecompSparse::Factor_sub2","info[1]= %d; pivot %d has different sign from the previous one",
info[1],i);
isnpiv = -isnpiv;
}
if ((a[apos] > zero && isnpiv ==  1) || (a[apos] < zero && isnpiv == -1) || (uu == zero)) goto hack;
info[1] = -6;
info[2] = ntotpv+1;
goto finish;
}

amax = zero;
tmax = amax;
j1 = apos+1;
j2 = apos+nass-ipiv;
if (j2 >= j1) {
for (jj = j1; jj < j2+1; jj++) {
if (TMath::Abs(a[jj]) <= amax) continue;
jmax = ipiv+jj-j1+1;
amax = TMath::Abs(a[jj]);
}
}
j1 = j2+1;
j2 = apos+nfront-ipiv;
if (j2 >= j1) {
for (jj = j1; jj < j2+1; jj++)
tmax = TMath::Max(TMath::Abs(a[jj]),tmax);
}
rmax = TMath::Max(tmax,amax);
apos1 = apos;
kk = nfront-ipiv;
lt = ipiv-(npiv+1);
if (lt != 0) {
for (k = 1; k < lt+1; k++) {
kk = kk+1;
apos1 = apos1-kk;
rmax = TMath::Max(rmax,TMath::Abs(a[apos1]));
}
}
if (TMath::Abs(a[apos]) <= TMath::Max(cntl[3],uu*rmax)) {
if (TMath::Abs(amax) <= cntl[3]) continue;
apos2 = posfac+IDiag(nfront-npiv,jmax-npiv);
detpiv = a[apos]*a[apos2]-amax*amax;
thresh = TMath::Abs(detpiv);
thresh = thresh/(uu*TMath::Max(TMath::Abs(a[apos])+amax,TMath::Abs(a[apos2])+amax));
if (thresh <= rmax) continue;
rmax = zero;
j1 = apos2+1;
j2 = apos2+nfront-jmax;
if (j2 >= j1) {
for (jj = j1; jj < j2+1; jj++)
rmax = TMath::Max(rmax,TMath::Abs(a[jj]));
}
kk = nfront-jmax+1;
apos3 = apos2;
jmxmip = jmax-ipiv-1;
if (jmxmip != 0) {
for (k = 1; k < jmxmip+1; k++) {
apos2 = apos2-kk;
kk = kk+1;
rmax = TMath::Max(rmax,TMath::Abs(a[apos2]));
}
}
ipmnp = ipiv-npiv-1;
if (ipmnp != 0) {
apos2 = apos2-kk;
kk = kk+1;
for (k = 1; k < ipmnp+1; k++) {
apos2 = apos2-kk;
kk = kk+1;
rmax = TMath::Max(rmax,TMath::Abs(a[apos2]));
}
}
if (thresh <= rmax) continue;
pivsiz = 2;
} else {
pivsiz = 1;
}

irow = ipiv-npiv;
for (krow = 1; krow < pivsiz+1; krow++) {
if (irow != 1) {
j1 = posfac+irow;
j2 = posfac+nfront-(npiv+1);
if (j2 >= j1) {
apos2 = apos+1;
for (jj = j1; jj < j2+1; jj++) {
swop = a[apos2];
a[apos2] = a[jj];
a[jj] = swop;
apos2 = apos2+1;
}
}
j1 = posfac+1;
j2 = posfac+irow-2;
apos2 = apos;
kk = nfront-(irow+npiv);
if (j2 >= j1) {
for (jjj = j1; jjj < j2+1; jjj++) {
jj = j2-jjj+j1;
kk = kk+1;
apos2 = apos2-kk;
swop = a[apos2];
a[apos2] = a[jj];
a[jj] = swop;
}
}
if (npiv != 0) {
apos1 = posfac;
kk = kk+1;
apos2 = apos2-kk;
for (jj = 1; jj < npiv+1; jj++) {
kk = kk+1;
apos1 = apos1-kk;
apos2 = apos2-kk;
swop = a[apos2];
a[apos2] = a[apos1];
a[apos1] = swop;
}
}
swop = a[apos];
a[apos] = a[posfac];
a[posfac] = swop;
ipos = iwpos+npiv+2;
iexch = iwpos+irow+npiv+1;
iswop = iw[ipos];
iw[ipos] = iw[iexch];
iw[iexch] = iswop;
}
if (pivsiz == 1) continue;
if (krow != 2)  {
irow = jmax-(npiv+1);
jpos = posfac;
posfac = posfac+nfront-npiv;
npiv = npiv+1;
apos = apos3;
} else {
npiv = npiv-1;
posfac = jpos;
}
}

if (pivsiz != 2) {
hack:
a[posfac] = one/a[posfac];
if (a[posfac] < zero) neig = neig+1;
j1 = posfac+1;
j2 = posfac+nfront-(npiv+1);
if (j2 >= j1) {
ibeg = j2+1;
for (jj = j1; jj < j2+1; jj++) {
amult = -a[jj]*a[posfac];
iend = ibeg+nfront-(npiv+jj-j1+2);
for (irow = ibeg; irow < iend+1; irow++) {
jcol = jj+irow-ibeg;
a[irow] = a[irow]+amult*a[jcol];
}
ibeg = iend+1;
a[jj] = amult;
}
}
npiv = npiv+1;
ntotpv = ntotpv+1;
jpiv = 1;
posfac = posfac+nfront-npiv+1;
} else {
ipos = iwpos+npiv+2;
ntwo = ntwo+1;
iw[ipos] = -iw[ipos];
pospv1 = posfac;
pospv2 = posfac+nfront-npiv;
swop = a[pospv2];
if (detpiv < zero) neig = neig+1;
if (detpiv > zero && swop < zero) neig = neig+2;
a[pospv2] = a[pospv1]/detpiv;
a[pospv1] = swop/detpiv;
a[pospv1+1] = -a[pospv1+1]/detpiv;
j1 = pospv1+2;
j2 = pospv1+nfront-(npiv+1);
if (j2 >= j1) {
jj1 = pospv2;
ibeg = pospv2+nfront-(npiv+1);
for (jj = j1; jj < j2+1; jj++) {
jj1 = jj1+1;
amult1 =-(a[pospv1]*a[jj]+a[pospv1+1]*a[jj1]);
amult2 =-(a[pospv1+1]*a[jj]+a[pospv2]*a[jj1]);
iend = ibeg+nfront-(npiv+jj-j1+3);
for (irow = ibeg; irow < iend+1; irow++) {
k1 = jj+irow-ibeg;
k2 = jj1+irow-ibeg;
a[irow] = a[irow]+amult1*a[k1]+amult2*a[k2];
}
ibeg = iend+1;
a[jj] = amult1;
a[jj1] = amult2;
}
}
npiv = npiv+2;
ntotpv = ntotpv+2;
jpiv = 2;
posfac = pospv2+nfront-npiv+1;
}
}
}

if (npiv != 0) nblk = nblk+1;
ioldps = iwpos;
iwpos = iwpos+nfront+2;
if (npiv != 0) {
if (npiv <= 1) {
iw[ioldps] = -iw[ioldps];
for (k = 1; k < nfront+1; k++) {
j1 = ioldps+k;
iw[j1] = iw[j1+1];
}
iwpos = iwpos-1;
} else {
iw[ioldps+1] = npiv;
}
}
liell = nfront-npiv;

if (liell != 0 && iass != nsteps) {
if (iwpos+liell >= istk)
Factor_sub3(a,iw,istk,istk2,iinput,2,ncmpbr,ncmpbi);
istk = istk-liell-1;
iw[istk] = liell;
j1 = istk;
kk = iwpos-liell-1;
for (k = 1; k < liell+1; k++) {
j1 = j1+1;
kk = kk+1;
iw[j1] = iw[kk];
}
laell = ((liell+1)*liell)/2;
kk = posfac+laell;
if (kk == astk) {
astk = astk-laell;
} else {
kmax = kk-1;
for (k = 1; k < laell+1; k++) {
kk = kk-1;
astk = astk-1;
a[astk] = a[kk];
}
kmax = TMath::Min(kmax,astk-1);
for ( k = kk; k < kmax+1; k++)
a[k] = zero;
}
azero = TMath::Min(azero,astk-1);
}
if (npiv == 0) iwpos = ioldps;
}

iw[1] = nblk;
if (ntwo > 0) iw[1] = -nblk;
nrlbdu = posfac-1;
nirbdu = iwpos-1;

if (ntotpv != n) {
info[1] = 3;
info[2] = ntotpv;
}

finish:
info[9]  = nrlbdu;
info[10] = nirbdu;
info[12] = ncmpbr;
info[13] = ncmpbi;
info[14] = ntwo;
info[15] = neig;
}

//______________________________________________________________________________
void TDecompSparse::Factor_sub3(Double_t *a,Int_t *iw,Int_t &j1,Int_t &j2,const Int_t itop,
const Int_t ireal,Int_t &ncmpbr,Int_t &ncmpbi)
{
// Help routine for factorization

Int_t ipos,jj,jjj;

ipos = itop-1;
if (j2 != ipos) {
if (ireal != 2) {
ncmpbr = ncmpbr+1;
if (j1 <= j2) {
for (jjj = j1; jjj < j2+1; jjj++) {
jj = j2-jjj+j1;
a[ipos] = a[jj];
ipos = ipos-1;
}
}
} else {
ncmpbi = ncmpbi+1;
if (j1 <= j2) {
for (jjj = j1; jjj < j2+1; jjj++) {
jj = j2-jjj+j1;
iw[ipos] = iw[jj];
ipos = ipos-1;
}
}
}
j2 = itop-1;
j1 = ipos+1;
}
}

//______________________________________________________________________________
void TDecompSparse::Solve_sub1(const Int_t n,Double_t *a,Int_t *iw,Double_t *w,
Double_t *rhs,Int_t *iw2,const Int_t nblk,Int_t &latop,
Int_t *icntl)
{
// Help routine for solving

Int_t apos,iblk,ifr,ilvl,ipiv,ipos,irhs,irow,ist,j,j1=0,j2,j3,jj,jpiv,k,k1,k2,k3,liell,npiv;
Double_t w1,w2;

const Int_t ifrlvl = 5;

apos = 1;
ipos = 1;
j2 = 0;
iblk = 0;
npiv = 0;
for (irow = 1; irow < n+1; irow++) {
if (npiv <= 0) {
iblk = iblk+1;
if (iblk > nblk) break;
ipos = j2+1;
iw2[iblk] = ipos;
liell = -iw[ipos];
npiv = 1;
if (liell <= 0)  {
liell = -liell;
ipos = ipos+1;
npiv = iw[ipos];
}
j1 = ipos+1;
j2 = ipos+liell;
ilvl = TMath::Min(npiv,10);
if (liell < icntl[ifrlvl+ilvl]) goto hack;
ifr = 0;
for (jj = j1; jj < j2+1; jj++) {
j = TMath::Abs(iw[jj]+0);
ifr = ifr+1;
w[ifr] = rhs[j];
}
jpiv = 1;
j3 = j1;

for (ipiv = 1; ipiv < npiv+1; ipiv++) {
jpiv = jpiv-1;
if (jpiv == 1) continue;

if (iw[j3] >= 0) {
jpiv = 1;
j3 = j3+1;
apos = apos+1;
ist = ipiv+1;
if (liell< ist) continue;
w1 = w[ipiv];
k = apos;
for (j = ist; j < liell+1; j++) {
w[j] = w[j]+a[k]*w1;
k = k+1;
}
apos = apos+liell-ist+1;
} else {
jpiv = 2;
j3 = j3+2;
apos = apos+2;
ist = ipiv+2;
if (liell >= ist) {
w1 = w[ipiv];
w2 = w[ipiv+1];
k1 = apos;
k2 = apos+liell-ipiv;
for (j = ist; j < liell+1; j++) {
w[j] = w[j]+w1*a[k1]+w2*a[k2];
k1 = k1+1;
k2 = k2+1;
}
}
apos = apos+2*(liell-ist+1)+1;
}
}

ifr = 0;
for (jj = j1; jj < j2+1; jj++) {
j = TMath::Abs(iw[jj]+0);
ifr = ifr+1;
rhs[j] = w[ifr];
}
npiv = 0;
} else {
hack:
if (iw[j1] >= 0) {
npiv = npiv-1;
apos = apos+1;
j1 = j1+1;
if (j1 <= j2) {
irhs = iw[j1-1];
w1 = rhs[irhs];
k = apos;
for (j = j1; j < j2+1; j++) {
irhs = TMath::Abs(iw[j]+0);
rhs[irhs] = rhs[irhs]+a[k]*w1;
k = k+1;
}
}
apos = apos+j2-j1+1;
} else {
npiv = npiv-2;
j1 = j1+2;
apos = apos+2;
if (j1 <= j2) {
irhs = -iw[j1-2];
w1 = rhs[irhs];
irhs = iw[j1-1];
w2 = rhs[irhs];
k1 = apos;
k3 = apos+j2-j1+2;
for (j = j1; j < j2+1; j++) {
irhs = TMath::Abs(iw[j]+0);
rhs[irhs] = rhs[irhs]+w1*a[k1]+w2*a[k3];
k1 = k1+1;
k3 = k3+1;
}
}
apos = apos+2*(j2-j1+1)+1;
}
}
}

latop = apos-1;
}

//______________________________________________________________________________
void TDecompSparse::Solve_sub2(const Int_t n,Double_t *a,Int_t *iw,Double_t *w,
Double_t *rhs,Int_t *iw2,const Int_t nblk,
const Int_t latop,Int_t *icntl)
{
// Help routine for solving

Int_t apos,apos2,i1rhs,i2rhs,iblk,ifr,iipiv,iirhs,ilvl,ipiv,ipos,irhs,ist,
j,j1=0,j2=0,jj,jj1,jj2,jpiv,jpos=0,k,liell,loop,npiv;
Double_t w1,w2;

const Int_t ifrlvl = 5;

apos = latop+1;
npiv = 0;
iblk = nblk+1;
for (loop = 1; loop < n+1; loop++) {
if (npiv <= 0) {
iblk = iblk-1;
if (iblk < 1) break;
ipos = iw2[iblk];
liell = -iw[ipos];
npiv = 1;
if (liell <= 0) {
liell = -liell;
ipos = ipos+1;
npiv = iw[ipos];
}
jpos = ipos+npiv;
j2 = ipos+liell;
ilvl = TMath::Min(10,npiv)+10;
if (liell < icntl[ifrlvl+ilvl]) goto hack;
j1 = ipos+1;
ifr = 0;
for (jj = j1; jj < j2+1; jj++) {
j = TMath::Abs(iw[jj]+0);
ifr = ifr+1;
w[ifr] = rhs[j];
}
jpiv = 1;
for (iipiv = 1; iipiv < npiv+1; iipiv++) {
jpiv = jpiv-1;
if (jpiv == 1) continue;
ipiv = npiv-iipiv+1;
if (ipiv == 1 || iw[jpos-1] >= 0) {
jpiv = 1;
apos = apos-(liell+1-ipiv);
ist = ipiv+1;
w1 = w[ipiv]*a[apos];
if (liell >= ist) {
jj1 = apos+1;
for (j = ist; j < liell+1; j++) {
w1 = w1+a[jj1]*w[j];
jj1 = jj1+1;
}
}
w[ipiv] = w1;
jpos = jpos-1;
} else {
jpiv = 2;
apos2 = apos-(liell+1-ipiv);
apos = apos2-(liell+2-ipiv);
ist = ipiv+1;
w1 = w[ipiv-1]*a[apos]+w[ipiv]*a[apos+1];
w2 = w[ipiv-1]*a[apos+1]+w[ipiv]*a[apos2];
if (liell >= ist) {
jj1 = apos+2;
jj2 = apos2+1;
for (j = ist; j < liell+1; j++) {
w1 = w1+w[j]*a[jj1];
w2 = w2+w[j]*a[jj2];
jj1 = jj1+1;
jj2 = jj2+1;
}
}
w[ipiv-1] = w1;
w[ipiv] = w2;
jpos = jpos-2;
}
}
ifr = 0;
for (jj = j1; jj < j2+1; jj++) {
j = TMath::Abs(iw[jj]+0);
ifr = ifr+1;
rhs[j] = w[ifr];
}
npiv = 0;
} else {
hack:
if (npiv == 1 || iw[jpos-1] >= 0) {
npiv = npiv-1;
apos = apos-(j2-jpos+1);
iirhs = iw[jpos];
w1 = rhs[iirhs]*a[apos];
j1 = jpos+1;
if (j1 <= j2) {
k = apos+1;
for (j = j1; j < j2+1; j++) {
irhs = TMath::Abs(iw[j]+0);
w1 = w1+a[k]*rhs[irhs];
k = k+1;
}
}
rhs[iirhs] = w1;
jpos = jpos-1;
} else {
npiv = npiv-2;
apos2 = apos-(j2-jpos+1);
apos = apos2-(j2-jpos+2);
i1rhs = -iw[jpos-1];
i2rhs = iw[jpos];
w1 = rhs[i1rhs]*a[apos]+rhs[i2rhs]*a[apos+1];
w2 = rhs[i1rhs]*a[apos+1]+rhs[i2rhs]*a[apos2];
j1 = jpos+1;
if (j1 <= j2) {
jj1 = apos+2;
jj2 = apos2+1;
for (j = j1; j < j2+1; j++) {
irhs = TMath::Abs(iw[j]+0);
w1 = w1+rhs[irhs]*a[jj1];
w2 = w2+rhs[irhs]*a[jj2];
jj1 = jj1+1;
jj2 = jj2+1;
}
}
rhs[i1rhs] = w1;
rhs[i2rhs] = w2;
jpos = jpos-2;
}
}
}
}

//______________________________________________________________________________
void TDecompSparse::Print(Option_t *opt) const
{
// Print class members

TDecompBase::Print(opt);

printf("fPrecision  = %.3f\n",fPrecision);
printf("fIPessimism = %.3f\n",fIPessimism);
printf("fRPessimism = %.3f\n",fRPessimism);

TMatrixDSparse fact(0,fNrows-1,0,fNrows-1,fNnonZeros,
(Int_t*)fRowFact.GetArray(),(Int_t*)fColFact.GetArray(),(Double_t*)fFact.GetArray());
fact.Print("fFact");
}

//______________________________________________________________________________
TDecompSparse &TDecompSparse::operator=(const TDecompSparse &source)
{
// Assignment operator

if (this != &source) {
TDecompBase::operator=(source);
memcpy(fIcntl,source.fIcntl,31*sizeof(Int_t));
memcpy(fCntl,source.fCntl,6*sizeof(Double_t));
memcpy(fInfo,source.fInfo,21*sizeof(Int_t));
fVerbose    = source.fVerbose;
fPrecision  = source.fPrecision;
fIkeep      = source.fIkeep;
fIw         = source.fIw;
fIw1        = source.fIw1;
fIw2        = source.fIw2;
fNsteps     = source.fNsteps;
fMaxfrt     = source.fMaxfrt;
fW          = source.fW;
fIPessimism = source.fIPessimism;
fRPessimism = source.fRPessimism;
if (fA.IsValid())
fA.Use(*const_cast<TMatrixDSparse *>(&(source.fA)));
fNrows      = source.fNrows;
fNnonZeros  = source.fNnonZeros;
fFact       = source.fFact;
fRowFact    = source.fRowFact;
fColFact    = source.fColFact;
}
return *this;
}
```
TDecompSparse.cxx:1
TDecompSparse.cxx:2
TDecompSparse.cxx:3
TDecompSparse.cxx:4
TDecompSparse.cxx:5
TDecompSparse.cxx:6
TDecompSparse.cxx:7
TDecompSparse.cxx:8
TDecompSparse.cxx:9
TDecompSparse.cxx:10
TDecompSparse.cxx:11
TDecompSparse.cxx:12
TDecompSparse.cxx:13
TDecompSparse.cxx:14
TDecompSparse.cxx:15
TDecompSparse.cxx:16
TDecompSparse.cxx:17
TDecompSparse.cxx:18
TDecompSparse.cxx:19
TDecompSparse.cxx:20
TDecompSparse.cxx:21
TDecompSparse.cxx:22
TDecompSparse.cxx:23
TDecompSparse.cxx:24
TDecompSparse.cxx:25
TDecompSparse.cxx:26
TDecompSparse.cxx:27
TDecompSparse.cxx:28
TDecompSparse.cxx:29
TDecompSparse.cxx:30
TDecompSparse.cxx:31
TDecompSparse.cxx:32
TDecompSparse.cxx:33
TDecompSparse.cxx:34
TDecompSparse.cxx:35
TDecompSparse.cxx:36
TDecompSparse.cxx:37
TDecompSparse.cxx:38
TDecompSparse.cxx:39
TDecompSparse.cxx:40
TDecompSparse.cxx:41
TDecompSparse.cxx:42
TDecompSparse.cxx:43
TDecompSparse.cxx:44
TDecompSparse.cxx:45
TDecompSparse.cxx:46
TDecompSparse.cxx:47
TDecompSparse.cxx:48
TDecompSparse.cxx:49
TDecompSparse.cxx:50
TDecompSparse.cxx:51
TDecompSparse.cxx:52
TDecompSparse.cxx:53
TDecompSparse.cxx:54
TDecompSparse.cxx:55
TDecompSparse.cxx:56
TDecompSparse.cxx:57
TDecompSparse.cxx:58
TDecompSparse.cxx:59
TDecompSparse.cxx:60
TDecompSparse.cxx:61
TDecompSparse.cxx:62
TDecompSparse.cxx:63
TDecompSparse.cxx:64
TDecompSparse.cxx:65
TDecompSparse.cxx:66
TDecompSparse.cxx:67
TDecompSparse.cxx:68
TDecompSparse.cxx:69
TDecompSparse.cxx:70
TDecompSparse.cxx:71
TDecompSparse.cxx:72
TDecompSparse.cxx:73
TDecompSparse.cxx:74
TDecompSparse.cxx:75
TDecompSparse.cxx:76
TDecompSparse.cxx:77
TDecompSparse.cxx:78
TDecompSparse.cxx:79
TDecompSparse.cxx:80
TDecompSparse.cxx:81
TDecompSparse.cxx:82
TDecompSparse.cxx:83
TDecompSparse.cxx:84
TDecompSparse.cxx:85
TDecompSparse.cxx:86
TDecompSparse.cxx:87
TDecompSparse.cxx:88
TDecompSparse.cxx:89
TDecompSparse.cxx:90
TDecompSparse.cxx:91
TDecompSparse.cxx:92
TDecompSparse.cxx:93
TDecompSparse.cxx:94
TDecompSparse.cxx:95
TDecompSparse.cxx:96
TDecompSparse.cxx:97
TDecompSparse.cxx:98
TDecompSparse.cxx:99
TDecompSparse.cxx:100
TDecompSparse.cxx:101
TDecompSparse.cxx:102
TDecompSparse.cxx:103
TDecompSparse.cxx:104
TDecompSparse.cxx:105
TDecompSparse.cxx:106
TDecompSparse.cxx:107
TDecompSparse.cxx:108
TDecompSparse.cxx:109
TDecompSparse.cxx:110
TDecompSparse.cxx:111
TDecompSparse.cxx:112
TDecompSparse.cxx:113
TDecompSparse.cxx:114
TDecompSparse.cxx:115
TDecompSparse.cxx:116
TDecompSparse.cxx:117
TDecompSparse.cxx:118
TDecompSparse.cxx:119
TDecompSparse.cxx:120
TDecompSparse.cxx:121
TDecompSparse.cxx:122
TDecompSparse.cxx:123
TDecompSparse.cxx:124
TDecompSparse.cxx:125
TDecompSparse.cxx:126
TDecompSparse.cxx:127
TDecompSparse.cxx:128
TDecompSparse.cxx:129
TDecompSparse.cxx:130
TDecompSparse.cxx:131
TDecompSparse.cxx:132
TDecompSparse.cxx:133
TDecompSparse.cxx:134
TDecompSparse.cxx:135
TDecompSparse.cxx:136
TDecompSparse.cxx:137
TDecompSparse.cxx:138
TDecompSparse.cxx:139
TDecompSparse.cxx:140
TDecompSparse.cxx:141
TDecompSparse.cxx:142
TDecompSparse.cxx:143
TDecompSparse.cxx:144
TDecompSparse.cxx:145
TDecompSparse.cxx:146
TDecompSparse.cxx:147
TDecompSparse.cxx:148
TDecompSparse.cxx:149
TDecompSparse.cxx:150
TDecompSparse.cxx:151
TDecompSparse.cxx:152
TDecompSparse.cxx:153
TDecompSparse.cxx:154
TDecompSparse.cxx:155
TDecompSparse.cxx:156
TDecompSparse.cxx:157
TDecompSparse.cxx:158
TDecompSparse.cxx:159
TDecompSparse.cxx:160
TDecompSparse.cxx:161
TDecompSparse.cxx:162
TDecompSparse.cxx:163
TDecompSparse.cxx:164
TDecompSparse.cxx:165
TDecompSparse.cxx:166
TDecompSparse.cxx:167
TDecompSparse.cxx:168
TDecompSparse.cxx:169
TDecompSparse.cxx:170
TDecompSparse.cxx:171
TDecompSparse.cxx:172
TDecompSparse.cxx:173
TDecompSparse.cxx:174
TDecompSparse.cxx:175
TDecompSparse.cxx:176
TDecompSparse.cxx:177
TDecompSparse.cxx:178
TDecompSparse.cxx:179
TDecompSparse.cxx:180
TDecompSparse.cxx:181
TDecompSparse.cxx:182
TDecompSparse.cxx:183
TDecompSparse.cxx:184
TDecompSparse.cxx:185
TDecompSparse.cxx:186
TDecompSparse.cxx:187
TDecompSparse.cxx:188
TDecompSparse.cxx:189
TDecompSparse.cxx:190
TDecompSparse.cxx:191
TDecompSparse.cxx:192
TDecompSparse.cxx:193
TDecompSparse.cxx:194
TDecompSparse.cxx:195
TDecompSparse.cxx:196
TDecompSparse.cxx:197
TDecompSparse.cxx:198
TDecompSparse.cxx:199
TDecompSparse.cxx:200
TDecompSparse.cxx:201
TDecompSparse.cxx:202
TDecompSparse.cxx:203
TDecompSparse.cxx:204
TDecompSparse.cxx:205
TDecompSparse.cxx:206
TDecompSparse.cxx:207
TDecompSparse.cxx:208
TDecompSparse.cxx:209
TDecompSparse.cxx:210
TDecompSparse.cxx:211
TDecompSparse.cxx:212
TDecompSparse.cxx:213
TDecompSparse.cxx:214
TDecompSparse.cxx:215
TDecompSparse.cxx:216
TDecompSparse.cxx:217
TDecompSparse.cxx:218
TDecompSparse.cxx:219
TDecompSparse.cxx:220
TDecompSparse.cxx:221
TDecompSparse.cxx:222
TDecompSparse.cxx:223
TDecompSparse.cxx:224
TDecompSparse.cxx:225
TDecompSparse.cxx:226
TDecompSparse.cxx:227
TDecompSparse.cxx:228
TDecompSparse.cxx:229
TDecompSparse.cxx:230
TDecompSparse.cxx:231
TDecompSparse.cxx:232
TDecompSparse.cxx:233
TDecompSparse.cxx:234
TDecompSparse.cxx:235
TDecompSparse.cxx:236
TDecompSparse.cxx:237
TDecompSparse.cxx:238
TDecompSparse.cxx:239
TDecompSparse.cxx:240
TDecompSparse.cxx:241
TDecompSparse.cxx:242
TDecompSparse.cxx:243
TDecompSparse.cxx:244
TDecompSparse.cxx:245
TDecompSparse.cxx:246
TDecompSparse.cxx:247
TDecompSparse.cxx:248
TDecompSparse.cxx:249
TDecompSparse.cxx:250
TDecompSparse.cxx:251
TDecompSparse.cxx:252
TDecompSparse.cxx:253
TDecompSparse.cxx:254
TDecompSparse.cxx:255
TDecompSparse.cxx:256
TDecompSparse.cxx:257
TDecompSparse.cxx:258
TDecompSparse.cxx:259
TDecompSparse.cxx:260
TDecompSparse.cxx:261
TDecompSparse.cxx:262
TDecompSparse.cxx:263
TDecompSparse.cxx:264
TDecompSparse.cxx:265
TDecompSparse.cxx:266
TDecompSparse.cxx:267
TDecompSparse.cxx:268
TDecompSparse.cxx:269
TDecompSparse.cxx:270
TDecompSparse.cxx:271
TDecompSparse.cxx:272
TDecompSparse.cxx:273
TDecompSparse.cxx:274
TDecompSparse.cxx:275
TDecompSparse.cxx:276
TDecompSparse.cxx:277
TDecompSparse.cxx:278
TDecompSparse.cxx:279
TDecompSparse.cxx:280
TDecompSparse.cxx:281
TDecompSparse.cxx:282
TDecompSparse.cxx:283
TDecompSparse.cxx:284
TDecompSparse.cxx:285
TDecompSparse.cxx:286
TDecompSparse.cxx:287
TDecompSparse.cxx:288
TDecompSparse.cxx:289
TDecompSparse.cxx:290
TDecompSparse.cxx:291
TDecompSparse.cxx:292
TDecompSparse.cxx:293
TDecompSparse.cxx:294
TDecompSparse.cxx:295
TDecompSparse.cxx:296
TDecompSparse.cxx:297
TDecompSparse.cxx:298
TDecompSparse.cxx:299
TDecompSparse.cxx:300
TDecompSparse.cxx:301
TDecompSparse.cxx:302
TDecompSparse.cxx:303
TDecompSparse.cxx:304
TDecompSparse.cxx:305
TDecompSparse.cxx:306
TDecompSparse.cxx:307
TDecompSparse.cxx:308
TDecompSparse.cxx:309
TDecompSparse.cxx:310
TDecompSparse.cxx:311
TDecompSparse.cxx:312
TDecompSparse.cxx:313
TDecompSparse.cxx:314
TDecompSparse.cxx:315
TDecompSparse.cxx:316
TDecompSparse.cxx:317
TDecompSparse.cxx:318
TDecompSparse.cxx:319
TDecompSparse.cxx:320
TDecompSparse.cxx:321
TDecompSparse.cxx:322
TDecompSparse.cxx:323
TDecompSparse.cxx:324
TDecompSparse.cxx:325
TDecompSparse.cxx:326
TDecompSparse.cxx:327
TDecompSparse.cxx:328
TDecompSparse.cxx:329
TDecompSparse.cxx:330
TDecompSparse.cxx:331
TDecompSparse.cxx:332
TDecompSparse.cxx:333
TDecompSparse.cxx:334
TDecompSparse.cxx:335
TDecompSparse.cxx:336
TDecompSparse.cxx:337
TDecompSparse.cxx:338
TDecompSparse.cxx:339
TDecompSparse.cxx:340
TDecompSparse.cxx:341
TDecompSparse.cxx:342
TDecompSparse.cxx:343
TDecompSparse.cxx:344
TDecompSparse.cxx:345
TDecompSparse.cxx:346
TDecompSparse.cxx:347
TDecompSparse.cxx:348
TDecompSparse.cxx:349
TDecompSparse.cxx:350
TDecompSparse.cxx:351
TDecompSparse.cxx:352
TDecompSparse.cxx:353
TDecompSparse.cxx:354
TDecompSparse.cxx:355
TDecompSparse.cxx:356
TDecompSparse.cxx:357
TDecompSparse.cxx:358
TDecompSparse.cxx:359
TDecompSparse.cxx:360
TDecompSparse.cxx:361
TDecompSparse.cxx:362
TDecompSparse.cxx:363
TDecompSparse.cxx:364
TDecompSparse.cxx:365
TDecompSparse.cxx:366
TDecompSparse.cxx:367
TDecompSparse.cxx:368
TDecompSparse.cxx:369
TDecompSparse.cxx:370
TDecompSparse.cxx:371
TDecompSparse.cxx:372
TDecompSparse.cxx:373
TDecompSparse.cxx:374
TDecompSparse.cxx:375
TDecompSparse.cxx:376
TDecompSparse.cxx:377
TDecompSparse.cxx:378
TDecompSparse.cxx:379
TDecompSparse.cxx:380
TDecompSparse.cxx:381
TDecompSparse.cxx:382
TDecompSparse.cxx:383
TDecompSparse.cxx:384
TDecompSparse.cxx:385
TDecompSparse.cxx:386
TDecompSparse.cxx:387
TDecompSparse.cxx:388
TDecompSparse.cxx:389
TDecompSparse.cxx:390
TDecompSparse.cxx:391
TDecompSparse.cxx:392
TDecompSparse.cxx:393
TDecompSparse.cxx:394
TDecompSparse.cxx:395
TDecompSparse.cxx:396
TDecompSparse.cxx:397
TDecompSparse.cxx:398
TDecompSparse.cxx:399
TDecompSparse.cxx:400
TDecompSparse.cxx:401
TDecompSparse.cxx:402
TDecompSparse.cxx:403
TDecompSparse.cxx:404
TDecompSparse.cxx:405
TDecompSparse.cxx:406
TDecompSparse.cxx:407
TDecompSparse.cxx:408
TDecompSparse.cxx:409
TDecompSparse.cxx:410
TDecompSparse.cxx:411
TDecompSparse.cxx:412
TDecompSparse.cxx:413
TDecompSparse.cxx:414
TDecompSparse.cxx:415
TDecompSparse.cxx:416
TDecompSparse.cxx:417
TDecompSparse.cxx:418
TDecompSparse.cxx:419
TDecompSparse.cxx:420
TDecompSparse.cxx:421
TDecompSparse.cxx:422
TDecompSparse.cxx:423
TDecompSparse.cxx:424
TDecompSparse.cxx:425
TDecompSparse.cxx:426
TDecompSparse.cxx:427
TDecompSparse.cxx:428
TDecompSparse.cxx:429
TDecompSparse.cxx:430
TDecompSparse.cxx:431
TDecompSparse.cxx:432
TDecompSparse.cxx:433
TDecompSparse.cxx:434
TDecompSparse.cxx:435
TDecompSparse.cxx:436
TDecompSparse.cxx:437
TDecompSparse.cxx:438
TDecompSparse.cxx:439
TDecompSparse.cxx:440
TDecompSparse.cxx:441
TDecompSparse.cxx:442
TDecompSparse.cxx:443
TDecompSparse.cxx:444
TDecompSparse.cxx:445
TDecompSparse.cxx:446
TDecompSparse.cxx:447
TDecompSparse.cxx:448
TDecompSparse.cxx:449
TDecompSparse.cxx:450
TDecompSparse.cxx:451
TDecompSparse.cxx:452
TDecompSparse.cxx:453
TDecompSparse.cxx:454
TDecompSparse.cxx:455
TDecompSparse.cxx:456
TDecompSparse.cxx:457
TDecompSparse.cxx:458
TDecompSparse.cxx:459
TDecompSparse.cxx:460
TDecompSparse.cxx:461
TDecompSparse.cxx:462
TDecompSparse.cxx:463
TDecompSparse.cxx:464
TDecompSparse.cxx:465
TDecompSparse.cxx:466
TDecompSparse.cxx:467
TDecompSparse.cxx:468
TDecompSparse.cxx:469
TDecompSparse.cxx:470
TDecompSparse.cxx:471
TDecompSparse.cxx:472
TDecompSparse.cxx:473
TDecompSparse.cxx:474
TDecompSparse.cxx:475
TDecompSparse.cxx:476
TDecompSparse.cxx:477
TDecompSparse.cxx:478
TDecompSparse.cxx:479
TDecompSparse.cxx:480
TDecompSparse.cxx:481
TDecompSparse.cxx:482
TDecompSparse.cxx:483
TDecompSparse.cxx:484
TDecompSparse.cxx:485
TDecompSparse.cxx:486
TDecompSparse.cxx:487
TDecompSparse.cxx:488
TDecompSparse.cxx:489
TDecompSparse.cxx:490
TDecompSparse.cxx:491
TDecompSparse.cxx:492
TDecompSparse.cxx:493
TDecompSparse.cxx:494
TDecompSparse.cxx:495
TDecompSparse.cxx:496
TDecompSparse.cxx:497
TDecompSparse.cxx:498
TDecompSparse.cxx:499
TDecompSparse.cxx:500
TDecompSparse.cxx:501
TDecompSparse.cxx:502
TDecompSparse.cxx:503
TDecompSparse.cxx:504
TDecompSparse.cxx:505
TDecompSparse.cxx:506
TDecompSparse.cxx:507
TDecompSparse.cxx:508
TDecompSparse.cxx:509
TDecompSparse.cxx:510
TDecompSparse.cxx:511
TDecompSparse.cxx:512
TDecompSparse.cxx:513
TDecompSparse.cxx:514
TDecompSparse.cxx:515
TDecompSparse.cxx:516
TDecompSparse.cxx:517
TDecompSparse.cxx:518
TDecompSparse.cxx:519
TDecompSparse.cxx:520
TDecompSparse.cxx:521
TDecompSparse.cxx:522
TDecompSparse.cxx:523
TDecompSparse.cxx:524
TDecompSparse.cxx:525
TDecompSparse.cxx:526
TDecompSparse.cxx:527
TDecompSparse.cxx:528
TDecompSparse.cxx:529
TDecompSparse.cxx:530
TDecompSparse.cxx:531
TDecompSparse.cxx:532
TDecompSparse.cxx:533
TDecompSparse.cxx:534
TDecompSparse.cxx:535
TDecompSparse.cxx:536
TDecompSparse.cxx:537
TDecompSparse.cxx:538
TDecompSparse.cxx:539
TDecompSparse.cxx:540
TDecompSparse.cxx:541
TDecompSparse.cxx:542
TDecompSparse.cxx:543
TDecompSparse.cxx:544
TDecompSparse.cxx:545
TDecompSparse.cxx:546
TDecompSparse.cxx:547
TDecompSparse.cxx:548
TDecompSparse.cxx:549
TDecompSparse.cxx:550
TDecompSparse.cxx:551
TDecompSparse.cxx:552
TDecompSparse.cxx:553
TDecompSparse.cxx:554
TDecompSparse.cxx:555
TDecompSparse.cxx:556
TDecompSparse.cxx:557
TDecompSparse.cxx:558
TDecompSparse.cxx:559
TDecompSparse.cxx:560
TDecompSparse.cxx:561
TDecompSparse.cxx:562
TDecompSparse.cxx:563
TDecompSparse.cxx:564
TDecompSparse.cxx:565
TDecompSparse.cxx:566
TDecompSparse.cxx:567
TDecompSparse.cxx:568
TDecompSparse.cxx:569
TDecompSparse.cxx:570
TDecompSparse.cxx:571
TDecompSparse.cxx:572
TDecompSparse.cxx:573
TDecompSparse.cxx:574
TDecompSparse.cxx:575
TDecompSparse.cxx:576
TDecompSparse.cxx:577
TDecompSparse.cxx:578
TDecompSparse.cxx:579
TDecompSparse.cxx:580
TDecompSparse.cxx:581
TDecompSparse.cxx:582
TDecompSparse.cxx:583
TDecompSparse.cxx:584
TDecompSparse.cxx:585
TDecompSparse.cxx:586
TDecompSparse.cxx:587
TDecompSparse.cxx:588
TDecompSparse.cxx:589
TDecompSparse.cxx:590
TDecompSparse.cxx:591
TDecompSparse.cxx:592
TDecompSparse.cxx:593
TDecompSparse.cxx:594
TDecompSparse.cxx:595
TDecompSparse.cxx:596
TDecompSparse.cxx:597
TDecompSparse.cxx:598
TDecompSparse.cxx:599
TDecompSparse.cxx:600
TDecompSparse.cxx:601
TDecompSparse.cxx:602
TDecompSparse.cxx:603
TDecompSparse.cxx:604
TDecompSparse.cxx:605
TDecompSparse.cxx:606
TDecompSparse.cxx:607
TDecompSparse.cxx:608
TDecompSparse.cxx:609
TDecompSparse.cxx:610
TDecompSparse.cxx:611
TDecompSparse.cxx:612
TDecompSparse.cxx:613
TDecompSparse.cxx:614
TDecompSparse.cxx:615
TDecompSparse.cxx:616
TDecompSparse.cxx:617
TDecompSparse.cxx:618
TDecompSparse.cxx:619
TDecompSparse.cxx:620
TDecompSparse.cxx:621
TDecompSparse.cxx:622
TDecompSparse.cxx:623
TDecompSparse.cxx:624
TDecompSparse.cxx:625
TDecompSparse.cxx:626
TDecompSparse.cxx:627
TDecompSparse.cxx:628
TDecompSparse.cxx:629
TDecompSparse.cxx:630
TDecompSparse.cxx:631
TDecompSparse.cxx:632
TDecompSparse.cxx:633
TDecompSparse.cxx:634
TDecompSparse.cxx:635
TDecompSparse.cxx:636
TDecompSparse.cxx:637
TDecompSparse.cxx:638
TDecompSparse.cxx:639
TDecompSparse.cxx:640
TDecompSparse.cxx:641
TDecompSparse.cxx:642
TDecompSparse.cxx:643
TDecompSparse.cxx:644
TDecompSparse.cxx:645
TDecompSparse.cxx:646
TDecompSparse.cxx:647
TDecompSparse.cxx:648
TDecompSparse.cxx:649
TDecompSparse.cxx:650
TDecompSparse.cxx:651
TDecompSparse.cxx:652
TDecompSparse.cxx:653
TDecompSparse.cxx:654
TDecompSparse.cxx:655
TDecompSparse.cxx:656
TDecompSparse.cxx:657
TDecompSparse.cxx:658
TDecompSparse.cxx:659
TDecompSparse.cxx:660
TDecompSparse.cxx:661
TDecompSparse.cxx:662
TDecompSparse.cxx:663
TDecompSparse.cxx:664
TDecompSparse.cxx:665
TDecompSparse.cxx:666
TDecompSparse.cxx:667
TDecompSparse.cxx:668
TDecompSparse.cxx:669
TDecompSparse.cxx:670
TDecompSparse.cxx:671
TDecompSparse.cxx:672
TDecompSparse.cxx:673
TDecompSparse.cxx:674
TDecompSparse.cxx:675
TDecompSparse.cxx:676
TDecompSparse.cxx:677
TDecompSparse.cxx:678
TDecompSparse.cxx:679
TDecompSparse.cxx:680
TDecompSparse.cxx:681
TDecompSparse.cxx:682
TDecompSparse.cxx:683
TDecompSparse.cxx:684
TDecompSparse.cxx:685
TDecompSparse.cxx:686
TDecompSparse.cxx:687
TDecompSparse.cxx:688
TDecompSparse.cxx:689
TDecompSparse.cxx:690
TDecompSparse.cxx:691
TDecompSparse.cxx:692
TDecompSparse.cxx:693
TDecompSparse.cxx:694
TDecompSparse.cxx:695
TDecompSparse.cxx:696
TDecompSparse.cxx:697
TDecompSparse.cxx:698
TDecompSparse.cxx:699
TDecompSparse.cxx:700
TDecompSparse.cxx:701
TDecompSparse.cxx:702
TDecompSparse.cxx:703
TDecompSparse.cxx:704
TDecompSparse.cxx:705
TDecompSparse.cxx:706
TDecompSparse.cxx:707
TDecompSparse.cxx:708
TDecompSparse.cxx:709
TDecompSparse.cxx:710
TDecompSparse.cxx:711
TDecompSparse.cxx:712
TDecompSparse.cxx:713
TDecompSparse.cxx:714
TDecompSparse.cxx:715
TDecompSparse.cxx:716
TDecompSparse.cxx:717
TDecompSparse.cxx:718
TDecompSparse.cxx:719
TDecompSparse.cxx:720
TDecompSparse.cxx:721
TDecompSparse.cxx:722
TDecompSparse.cxx:723
TDecompSparse.cxx:724
TDecompSparse.cxx:725
TDecompSparse.cxx:726
TDecompSparse.cxx:727
TDecompSparse.cxx:728
TDecompSparse.cxx:729
TDecompSparse.cxx:730
TDecompSparse.cxx:731
TDecompSparse.cxx:732
TDecompSparse.cxx:733
TDecompSparse.cxx:734
TDecompSparse.cxx:735
TDecompSparse.cxx:736
TDecompSparse.cxx:737
TDecompSparse.cxx:738
TDecompSparse.cxx:739
TDecompSparse.cxx:740
TDecompSparse.cxx:741
TDecompSparse.cxx:742
TDecompSparse.cxx:743
TDecompSparse.cxx:744
TDecompSparse.cxx:745
TDecompSparse.cxx:746
TDecompSparse.cxx:747
TDecompSparse.cxx:748
TDecompSparse.cxx:749
TDecompSparse.cxx:750
TDecompSparse.cxx:751
TDecompSparse.cxx:752
TDecompSparse.cxx:753
TDecompSparse.cxx:754
TDecompSparse.cxx:755
TDecompSparse.cxx:756
TDecompSparse.cxx:757
TDecompSparse.cxx:758
TDecompSparse.cxx:759
TDecompSparse.cxx:760
TDecompSparse.cxx:761
TDecompSparse.cxx:762
TDecompSparse.cxx:763
TDecompSparse.cxx:764
TDecompSparse.cxx:765
TDecompSparse.cxx:766
TDecompSparse.cxx:767
TDecompSparse.cxx:768
TDecompSparse.cxx:769
TDecompSparse.cxx:770
TDecompSparse.cxx:771
TDecompSparse.cxx:772
TDecompSparse.cxx:773
TDecompSparse.cxx:774
TDecompSparse.cxx:775
TDecompSparse.cxx:776
TDecompSparse.cxx:777
TDecompSparse.cxx:778
TDecompSparse.cxx:779
TDecompSparse.cxx:780
TDecompSparse.cxx:781
TDecompSparse.cxx:782
TDecompSparse.cxx:783
TDecompSparse.cxx:784
TDecompSparse.cxx:785
TDecompSparse.cxx:786
TDecompSparse.cxx:787
TDecompSparse.cxx:788
TDecompSparse.cxx:789
TDecompSparse.cxx:790
TDecompSparse.cxx:791
TDecompSparse.cxx:792
TDecompSparse.cxx:793
TDecompSparse.cxx:794
TDecompSparse.cxx:795
TDecompSparse.cxx:796
TDecompSparse.cxx:797
TDecompSparse.cxx:798
TDecompSparse.cxx:799
TDecompSparse.cxx:800
TDecompSparse.cxx:801
TDecompSparse.cxx:802
TDecompSparse.cxx:803
TDecompSparse.cxx:804
TDecompSparse.cxx:805
TDecompSparse.cxx:806
TDecompSparse.cxx:807
TDecompSparse.cxx:808
TDecompSparse.cxx:809
TDecompSparse.cxx:810
TDecompSparse.cxx:811
TDecompSparse.cxx:812
TDecompSparse.cxx:813
TDecompSparse.cxx:814
TDecompSparse.cxx:815
TDecompSparse.cxx:816
TDecompSparse.cxx:817
TDecompSparse.cxx:818
TDecompSparse.cxx:819
TDecompSparse.cxx:820
TDecompSparse.cxx:821
TDecompSparse.cxx:822
TDecompSparse.cxx:823
TDecompSparse.cxx:824
TDecompSparse.cxx:825
TDecompSparse.cxx:826
TDecompSparse.cxx:827
TDecompSparse.cxx:828
TDecompSparse.cxx:829
TDecompSparse.cxx:830
TDecompSparse.cxx:831
TDecompSparse.cxx:832
TDecompSparse.cxx:833
TDecompSparse.cxx:834
TDecompSparse.cxx:835
TDecompSparse.cxx:836
TDecompSparse.cxx:837
TDecompSparse.cxx:838
TDecompSparse.cxx:839
TDecompSparse.cxx:840
TDecompSparse.cxx:841
TDecompSparse.cxx:842
TDecompSparse.cxx:843
TDecompSparse.cxx:844
TDecompSparse.cxx:845
TDecompSparse.cxx:846
TDecompSparse.cxx:847
TDecompSparse.cxx:848
TDecompSparse.cxx:849
TDecompSparse.cxx:850
TDecompSparse.cxx:851
TDecompSparse.cxx:852
TDecompSparse.cxx:853
TDecompSparse.cxx:854
TDecompSparse.cxx:855
TDecompSparse.cxx:856
TDecompSparse.cxx:857
TDecompSparse.cxx:858
TDecompSparse.cxx:859
TDecompSparse.cxx:860
TDecompSparse.cxx:861
TDecompSparse.cxx:862
TDecompSparse.cxx:863
TDecompSparse.cxx:864
TDecompSparse.cxx:865
TDecompSparse.cxx:866
TDecompSparse.cxx:867
TDecompSparse.cxx:868
TDecompSparse.cxx:869
TDecompSparse.cxx:870
TDecompSparse.cxx:871
TDecompSparse.cxx:872
TDecompSparse.cxx:873
TDecompSparse.cxx:874
TDecompSparse.cxx:875
TDecompSparse.cxx:876
TDecompSparse.cxx:877
TDecompSparse.cxx:878
TDecompSparse.cxx:879
TDecompSparse.cxx:880
TDecompSparse.cxx:881
TDecompSparse.cxx:882
TDecompSparse.cxx:883
TDecompSparse.cxx:884
TDecompSparse.cxx:885
TDecompSparse.cxx:886
TDecompSparse.cxx:887
TDecompSparse.cxx:888
TDecompSparse.cxx:889
TDecompSparse.cxx:890
TDecompSparse.cxx:891
TDecompSparse.cxx:892
TDecompSparse.cxx:893
TDecompSparse.cxx:894
TDecompSparse.cxx:895
TDecompSparse.cxx:896
TDecompSparse.cxx:897
TDecompSparse.cxx:898
TDecompSparse.cxx:899
TDecompSparse.cxx:900
TDecompSparse.cxx:901
TDecompSparse.cxx:902
TDecompSparse.cxx:903
TDecompSparse.cxx:904
TDecompSparse.cxx:905
TDecompSparse.cxx:906
TDecompSparse.cxx:907
TDecompSparse.cxx:908
TDecompSparse.cxx:909
TDecompSparse.cxx:910
TDecompSparse.cxx:911
TDecompSparse.cxx:912
TDecompSparse.cxx:913
TDecompSparse.cxx:914
TDecompSparse.cxx:915
TDecompSparse.cxx:916
TDecompSparse.cxx:917
TDecompSparse.cxx:918
TDecompSparse.cxx:919
TDecompSparse.cxx:920
TDecompSparse.cxx:921
TDecompSparse.cxx:922
TDecompSparse.cxx:923
TDecompSparse.cxx:924
TDecompSparse.cxx:925
TDecompSparse.cxx:926
TDecompSparse.cxx:927
TDecompSparse.cxx:928
TDecompSparse.cxx:929
TDecompSparse.cxx:930
TDecompSparse.cxx:931
TDecompSparse.cxx:932
TDecompSparse.cxx:933
TDecompSparse.cxx:934
TDecompSparse.cxx:935
TDecompSparse.cxx:936
TDecompSparse.cxx:937
TDecompSparse.cxx:938
TDecompSparse.cxx:939
TDecompSparse.cxx:940
TDecompSparse.cxx:941
TDecompSparse.cxx:942
TDecompSparse.cxx:943
TDecompSparse.cxx:944
TDecompSparse.cxx:945
TDecompSparse.cxx:946
TDecompSparse.cxx:947
TDecompSparse.cxx:948
TDecompSparse.cxx:949
TDecompSparse.cxx:950
TDecompSparse.cxx:951
TDecompSparse.cxx:952
TDecompSparse.cxx:953
TDecompSparse.cxx:954
TDecompSparse.cxx:955
TDecompSparse.cxx:956
TDecompSparse.cxx:957
TDecompSparse.cxx:958
TDecompSparse.cxx:959
TDecompSparse.cxx:960
TDecompSparse.cxx:961
TDecompSparse.cxx:962
TDecompSparse.cxx:963
TDecompSparse.cxx:964
TDecompSparse.cxx:965
TDecompSparse.cxx:966
TDecompSparse.cxx:967
TDecompSparse.cxx:968
TDecompSparse.cxx:969
TDecompSparse.cxx:970
TDecompSparse.cxx:971
TDecompSparse.cxx:972
TDecompSparse.cxx:973
TDecompSparse.cxx:974
TDecompSparse.cxx:975
TDecompSparse.cxx:976
TDecompSparse.cxx:977
TDecompSparse.cxx:978
TDecompSparse.cxx:979
TDecompSparse.cxx:980
TDecompSparse.cxx:981
TDecompSparse.cxx:982
TDecompSparse.cxx:983
TDecompSparse.cxx:984
TDecompSparse.cxx:985
TDecompSparse.cxx:986
TDecompSparse.cxx:987
TDecompSparse.cxx:988
TDecompSparse.cxx:989
TDecompSparse.cxx:990
TDecompSparse.cxx:991
TDecompSparse.cxx:992
TDecompSparse.cxx:993
TDecompSparse.cxx:994
TDecompSparse.cxx:995
TDecompSparse.cxx:996
TDecompSparse.cxx:997
TDecompSparse.cxx:998
TDecompSparse.cxx:999
TDecompSparse.cxx:1000
TDecompSparse.cxx:1001
TDecompSparse.cxx:1002
TDecompSparse.cxx:1003
TDecompSparse.cxx:1004
TDecompSparse.cxx:1005
TDecompSparse.cxx:1006
TDecompSparse.cxx:1007
TDecompSparse.cxx:1008
TDecompSparse.cxx:1009
TDecompSparse.cxx:1010
TDecompSparse.cxx:1011
TDecompSparse.cxx:1012
TDecompSparse.cxx:1013
TDecompSparse.cxx:1014
TDecompSparse.cxx:1015
TDecompSparse.cxx:1016
TDecompSparse.cxx:1017
TDecompSparse.cxx:1018
TDecompSparse.cxx:1019
TDecompSparse.cxx:1020
TDecompSparse.cxx:1021
TDecompSparse.cxx:1022
TDecompSparse.cxx:1023
TDecompSparse.cxx:1024
TDecompSparse.cxx:1025
TDecompSparse.cxx:1026
TDecompSparse.cxx:1027
TDecompSparse.cxx:1028
TDecompSparse.cxx:1029
TDecompSparse.cxx:1030
TDecompSparse.cxx:1031
TDecompSparse.cxx:1032
TDecompSparse.cxx:1033
TDecompSparse.cxx:1034
TDecompSparse.cxx:1035
TDecompSparse.cxx:1036
TDecompSparse.cxx:1037
TDecompSparse.cxx:1038
TDecompSparse.cxx:1039
TDecompSparse.cxx:1040
TDecompSparse.cxx:1041
TDecompSparse.cxx:1042
TDecompSparse.cxx:1043
TDecompSparse.cxx:1044
TDecompSparse.cxx:1045
TDecompSparse.cxx:1046
TDecompSparse.cxx:1047
TDecompSparse.cxx:1048
TDecompSparse.cxx:1049
TDecompSparse.cxx:1050
TDecompSparse.cxx:1051
TDecompSparse.cxx:1052
TDecompSparse.cxx:1053
TDecompSparse.cxx:1054
TDecompSparse.cxx:1055
TDecompSparse.cxx:1056
TDecompSparse.cxx:1057
TDecompSparse.cxx:1058
TDecompSparse.cxx:1059
TDecompSparse.cxx:1060
TDecompSparse.cxx:1061
TDecompSparse.cxx:1062
TDecompSparse.cxx:1063
TDecompSparse.cxx:1064
TDecompSparse.cxx:1065
TDecompSparse.cxx:1066
TDecompSparse.cxx:1067
TDecompSparse.cxx:1068
TDecompSparse.cxx:1069
TDecompSparse.cxx:1070
TDecompSparse.cxx:1071
TDecompSparse.cxx:1072
TDecompSparse.cxx:1073
TDecompSparse.cxx:1074
TDecompSparse.cxx:1075
TDecompSparse.cxx:1076
TDecompSparse.cxx:1077
TDecompSparse.cxx:1078
TDecompSparse.cxx:1079
TDecompSparse.cxx:1080
TDecompSparse.cxx:1081
TDecompSparse.cxx:1082
TDecompSparse.cxx:1083
TDecompSparse.cxx:1084
TDecompSparse.cxx:1085
TDecompSparse.cxx:1086
TDecompSparse.cxx:1087
TDecompSparse.cxx:1088
TDecompSparse.cxx:1089
TDecompSparse.cxx:1090
TDecompSparse.cxx:1091
TDecompSparse.cxx:1092
TDecompSparse.cxx:1093
TDecompSparse.cxx:1094
TDecompSparse.cxx:1095
TDecompSparse.cxx:1096
TDecompSparse.cxx:1097
TDecompSparse.cxx:1098
TDecompSparse.cxx:1099
TDecompSparse.cxx:1100
TDecompSparse.cxx:1101
TDecompSparse.cxx:1102
TDecompSparse.cxx:1103
TDecompSparse.cxx:1104
TDecompSparse.cxx:1105
TDecompSparse.cxx:1106
TDecompSparse.cxx:1107
TDecompSparse.cxx:1108
TDecompSparse.cxx:1109
TDecompSparse.cxx:1110
TDecompSparse.cxx:1111
TDecompSparse.cxx:1112
TDecompSparse.cxx:1113
TDecompSparse.cxx:1114
TDecompSparse.cxx:1115
TDecompSparse.cxx:1116
TDecompSparse.cxx:1117
TDecompSparse.cxx:1118
TDecompSparse.cxx:1119
TDecompSparse.cxx:1120
TDecompSparse.cxx:1121
TDecompSparse.cxx:1122
TDecompSparse.cxx:1123
TDecompSparse.cxx:1124
TDecompSparse.cxx:1125
TDecompSparse.cxx:1126
TDecompSparse.cxx:1127
TDecompSparse.cxx:1128
TDecompSparse.cxx:1129
TDecompSparse.cxx:1130
TDecompSparse.cxx:1131
TDecompSparse.cxx:1132
TDecompSparse.cxx:1133
TDecompSparse.cxx:1134
TDecompSparse.cxx:1135
TDecompSparse.cxx:1136
TDecompSparse.cxx:1137
TDecompSparse.cxx:1138
TDecompSparse.cxx:1139
TDecompSparse.cxx:1140
TDecompSparse.cxx:1141
TDecompSparse.cxx:1142
TDecompSparse.cxx:1143
TDecompSparse.cxx:1144
TDecompSparse.cxx:1145
TDecompSparse.cxx:1146
TDecompSparse.cxx:1147
TDecompSparse.cxx:1148
TDecompSparse.cxx:1149
TDecompSparse.cxx:1150
TDecompSparse.cxx:1151
TDecompSparse.cxx:1152
TDecompSparse.cxx:1153
TDecompSparse.cxx:1154
TDecompSparse.cxx:1155
TDecompSparse.cxx:1156
TDecompSparse.cxx:1157
TDecompSparse.cxx:1158
TDecompSparse.cxx:1159
TDecompSparse.cxx:1160
TDecompSparse.cxx:1161
TDecompSparse.cxx:1162
TDecompSparse.cxx:1163
TDecompSparse.cxx:1164
TDecompSparse.cxx:1165
TDecompSparse.cxx:1166
TDecompSparse.cxx:1167
TDecompSparse.cxx:1168
TDecompSparse.cxx:1169
TDecompSparse.cxx:1170
TDecompSparse.cxx:1171
TDecompSparse.cxx:1172
TDecompSparse.cxx:1173
TDecompSparse.cxx:1174
TDecompSparse.cxx:1175
TDecompSparse.cxx:1176
TDecompSparse.cxx:1177
TDecompSparse.cxx:1178
TDecompSparse.cxx:1179
TDecompSparse.cxx:1180
TDecompSparse.cxx:1181
TDecompSparse.cxx:1182
TDecompSparse.cxx:1183
TDecompSparse.cxx:1184
TDecompSparse.cxx:1185
TDecompSparse.cxx:1186
TDecompSparse.cxx:1187
TDecompSparse.cxx:1188
TDecompSparse.cxx:1189
TDecompSparse.cxx:1190
TDecompSparse.cxx:1191
TDecompSparse.cxx:1192
TDecompSparse.cxx:1193
TDecompSparse.cxx:1194
TDecompSparse.cxx:1195
TDecompSparse.cxx:1196
TDecompSparse.cxx:1197
TDecompSparse.cxx:1198
TDecompSparse.cxx:1199
TDecompSparse.cxx:1200
TDecompSparse.cxx:1201
TDecompSparse.cxx:1202
TDecompSparse.cxx:1203
TDecompSparse.cxx:1204
TDecompSparse.cxx:1205
TDecompSparse.cxx:1206
TDecompSparse.cxx:1207
TDecompSparse.cxx:1208
TDecompSparse.cxx:1209
TDecompSparse.cxx:1210
TDecompSparse.cxx:1211
TDecompSparse.cxx:1212
TDecompSparse.cxx:1213
TDecompSparse.cxx:1214
TDecompSparse.cxx:1215
TDecompSparse.cxx:1216
TDecompSparse.cxx:1217
TDecompSparse.cxx:1218
TDecompSparse.cxx:1219
TDecompSparse.cxx:1220
TDecompSparse.cxx:1221
TDecompSparse.cxx:1222
TDecompSparse.cxx:1223
TDecompSparse.cxx:1224
TDecompSparse.cxx:1225
TDecompSparse.cxx:1226
TDecompSparse.cxx:1227
TDecompSparse.cxx:1228
TDecompSparse.cxx:1229
TDecompSparse.cxx:1230
TDecompSparse.cxx:1231
TDecompSparse.cxx:1232
TDecompSparse.cxx:1233
TDecompSparse.cxx:1234
TDecompSparse.cxx:1235
TDecompSparse.cxx:1236
TDecompSparse.cxx:1237
TDecompSparse.cxx:1238
TDecompSparse.cxx:1239
TDecompSparse.cxx:1240
TDecompSparse.cxx:1241
TDecompSparse.cxx:1242
TDecompSparse.cxx:1243
TDecompSparse.cxx:1244
TDecompSparse.cxx:1245
TDecompSparse.cxx:1246
TDecompSparse.cxx:1247
TDecompSparse.cxx:1248
TDecompSparse.cxx:1249
TDecompSparse.cxx:1250
TDecompSparse.cxx:1251
TDecompSparse.cxx:1252
TDecompSparse.cxx:1253
TDecompSparse.cxx:1254
TDecompSparse.cxx:1255
TDecompSparse.cxx:1256
TDecompSparse.cxx:1257
TDecompSparse.cxx:1258
TDecompSparse.cxx:1259
TDecompSparse.cxx:1260
TDecompSparse.cxx:1261
TDecompSparse.cxx:1262
TDecompSparse.cxx:1263
TDecompSparse.cxx:1264
TDecompSparse.cxx:1265
TDecompSparse.cxx:1266
TDecompSparse.cxx:1267
TDecompSparse.cxx:1268
TDecompSparse.cxx:1269
TDecompSparse.cxx:1270
TDecompSparse.cxx:1271
TDecompSparse.cxx:1272
TDecompSparse.cxx:1273
TDecompSparse.cxx:1274
TDecompSparse.cxx:1275
TDecompSparse.cxx:1276
TDecompSparse.cxx:1277
TDecompSparse.cxx:1278
TDecompSparse.cxx:1279
TDecompSparse.cxx:1280
TDecompSparse.cxx:1281
TDecompSparse.cxx:1282
TDecompSparse.cxx:1283
TDecompSparse.cxx:1284
TDecompSparse.cxx:1285
TDecompSparse.cxx:1286
TDecompSparse.cxx:1287
TDecompSparse.cxx:1288
TDecompSparse.cxx:1289
TDecompSparse.cxx:1290
TDecompSparse.cxx:1291
TDecompSparse.cxx:1292
TDecompSparse.cxx:1293
TDecompSparse.cxx:1294
TDecompSparse.cxx:1295
TDecompSparse.cxx:1296
TDecompSparse.cxx:1297
TDecompSparse.cxx:1298
TDecompSparse.cxx:1299
TDecompSparse.cxx:1300
TDecompSparse.cxx:1301
TDecompSparse.cxx:1302
TDecompSparse.cxx:1303
TDecompSparse.cxx:1304
TDecompSparse.cxx:1305
TDecompSparse.cxx:1306
TDecompSparse.cxx:1307
TDecompSparse.cxx:1308
TDecompSparse.cxx:1309
TDecompSparse.cxx:1310
TDecompSparse.cxx:1311
TDecompSparse.cxx:1312
TDecompSparse.cxx:1313
TDecompSparse.cxx:1314
TDecompSparse.cxx:1315
TDecompSparse.cxx:1316
TDecompSparse.cxx:1317
TDecompSparse.cxx:1318
TDecompSparse.cxx:1319
TDecompSparse.cxx:1320
TDecompSparse.cxx:1321
TDecompSparse.cxx:1322
TDecompSparse.cxx:1323
TDecompSparse.cxx:1324
TDecompSparse.cxx:1325
TDecompSparse.cxx:1326
TDecompSparse.cxx:1327
TDecompSparse.cxx:1328
TDecompSparse.cxx:1329
TDecompSparse.cxx:1330
TDecompSparse.cxx:1331
TDecompSparse.cxx:1332
TDecompSparse.cxx:1333
TDecompSparse.cxx:1334
TDecompSparse.cxx:1335
TDecompSparse.cxx:1336
TDecompSparse.cxx:1337
TDecompSparse.cxx:1338
TDecompSparse.cxx:1339
TDecompSparse.cxx:1340
TDecompSparse.cxx:1341
TDecompSparse.cxx:1342
TDecompSparse.cxx:1343
TDecompSparse.cxx:1344
TDecompSparse.cxx:1345
TDecompSparse.cxx:1346
TDecompSparse.cxx:1347
TDecompSparse.cxx:1348
TDecompSparse.cxx:1349
TDecompSparse.cxx:1350
TDecompSparse.cxx:1351
TDecompSparse.cxx:1352
TDecompSparse.cxx:1353
TDecompSparse.cxx:1354
TDecompSparse.cxx:1355
TDecompSparse.cxx:1356
TDecompSparse.cxx:1357
TDecompSparse.cxx:1358
TDecompSparse.cxx:1359
TDecompSparse.cxx:1360
TDecompSparse.cxx:1361
TDecompSparse.cxx:1362
TDecompSparse.cxx:1363
TDecompSparse.cxx:1364
TDecompSparse.cxx:1365
TDecompSparse.cxx:1366
TDecompSparse.cxx:1367
TDecompSparse.cxx:1368
TDecompSparse.cxx:1369
TDecompSparse.cxx:1370
TDecompSparse.cxx:1371
TDecompSparse.cxx:1372
TDecompSparse.cxx:1373
TDecompSparse.cxx:1374
TDecompSparse.cxx:1375
TDecompSparse.cxx:1376
TDecompSparse.cxx:1377
TDecompSparse.cxx:1378
TDecompSparse.cxx:1379
TDecompSparse.cxx:1380
TDecompSparse.cxx:1381
TDecompSparse.cxx:1382
TDecompSparse.cxx:1383
TDecompSparse.cxx:1384
TDecompSparse.cxx:1385
TDecompSparse.cxx:1386
TDecompSparse.cxx:1387
TDecompSparse.cxx:1388
TDecompSparse.cxx:1389
TDecompSparse.cxx:1390
TDecompSparse.cxx:1391
TDecompSparse.cxx:1392
TDecompSparse.cxx:1393
TDecompSparse.cxx:1394
TDecompSparse.cxx:1395
TDecompSparse.cxx:1396
TDecompSparse.cxx:1397
TDecompSparse.cxx:1398
TDecompSparse.cxx:1399
TDecompSparse.cxx:1400
TDecompSparse.cxx:1401
TDecompSparse.cxx:1402
TDecompSparse.cxx:1403
TDecompSparse.cxx:1404
TDecompSparse.cxx:1405
TDecompSparse.cxx:1406
TDecompSparse.cxx:1407
TDecompSparse.cxx:1408
TDecompSparse.cxx:1409
TDecompSparse.cxx:1410
TDecompSparse.cxx:1411
TDecompSparse.cxx:1412
TDecompSparse.cxx:1413
TDecompSparse.cxx:1414
TDecompSparse.cxx:1415
TDecompSparse.cxx:1416
TDecompSparse.cxx:1417
TDecompSparse.cxx:1418
TDecompSparse.cxx:1419
TDecompSparse.cxx:1420
TDecompSparse.cxx:1421
TDecompSparse.cxx:1422
TDecompSparse.cxx:1423
TDecompSparse.cxx:1424
TDecompSparse.cxx:1425
TDecompSparse.cxx:1426
TDecompSparse.cxx:1427
TDecompSparse.cxx:1428
TDecompSparse.cxx:1429
TDecompSparse.cxx:1430
TDecompSparse.cxx:1431
TDecompSparse.cxx:1432
TDecompSparse.cxx:1433
TDecompSparse.cxx:1434
TDecompSparse.cxx:1435
TDecompSparse.cxx:1436
TDecompSparse.cxx:1437
TDecompSparse.cxx:1438
TDecompSparse.cxx:1439
TDecompSparse.cxx:1440
TDecompSparse.cxx:1441
TDecompSparse.cxx:1442
TDecompSparse.cxx:1443
TDecompSparse.cxx:1444
TDecompSparse.cxx:1445
TDecompSparse.cxx:1446
TDecompSparse.cxx:1447
TDecompSparse.cxx:1448
TDecompSparse.cxx:1449
TDecompSparse.cxx:1450
TDecompSparse.cxx:1451
TDecompSparse.cxx:1452
TDecompSparse.cxx:1453
TDecompSparse.cxx:1454
TDecompSparse.cxx:1455
TDecompSparse.cxx:1456
TDecompSparse.cxx:1457
TDecompSparse.cxx:1458
TDecompSparse.cxx:1459
TDecompSparse.cxx:1460
TDecompSparse.cxx:1461
TDecompSparse.cxx:1462
TDecompSparse.cxx:1463
TDecompSparse.cxx:1464
TDecompSparse.cxx:1465
TDecompSparse.cxx:1466
TDecompSparse.cxx:1467
TDecompSparse.cxx:1468
TDecompSparse.cxx:1469
TDecompSparse.cxx:1470
TDecompSparse.cxx:1471
TDecompSparse.cxx:1472
TDecompSparse.cxx:1473
TDecompSparse.cxx:1474
TDecompSparse.cxx:1475
TDecompSparse.cxx:1476
TDecompSparse.cxx:1477
TDecompSparse.cxx:1478
TDecompSparse.cxx:1479
TDecompSparse.cxx:1480
TDecompSparse.cxx:1481
TDecompSparse.cxx:1482
TDecompSparse.cxx:1483
TDecompSparse.cxx:1484
TDecompSparse.cxx:1485
TDecompSparse.cxx:1486
TDecompSparse.cxx:1487
TDecompSparse.cxx:1488
TDecompSparse.cxx:1489
TDecompSparse.cxx:1490
TDecompSparse.cxx:1491
TDecompSparse.cxx:1492
TDecompSparse.cxx:1493
TDecompSparse.cxx:1494
TDecompSparse.cxx:1495
TDecompSparse.cxx:1496
TDecompSparse.cxx:1497
TDecompSparse.cxx:1498
TDecompSparse.cxx:1499
TDecompSparse.cxx:1500
TDecompSparse.cxx:1501
TDecompSparse.cxx:1502
TDecompSparse.cxx:1503
TDecompSparse.cxx:1504
TDecompSparse.cxx:1505
TDecompSparse.cxx:1506
TDecompSparse.cxx:1507
TDecompSparse.cxx:1508
TDecompSparse.cxx:1509
TDecompSparse.cxx:1510
TDecompSparse.cxx:1511
TDecompSparse.cxx:1512
TDecompSparse.cxx:1513
TDecompSparse.cxx:1514
TDecompSparse.cxx:1515
TDecompSparse.cxx:1516
TDecompSparse.cxx:1517
TDecompSparse.cxx:1518
TDecompSparse.cxx:1519
TDecompSparse.cxx:1520
TDecompSparse.cxx:1521
TDecompSparse.cxx:1522
TDecompSparse.cxx:1523
TDecompSparse.cxx:1524
TDecompSparse.cxx:1525
TDecompSparse.cxx:1526
TDecompSparse.cxx:1527
TDecompSparse.cxx:1528
TDecompSparse.cxx:1529
TDecompSparse.cxx:1530
TDecompSparse.cxx:1531
TDecompSparse.cxx:1532
TDecompSparse.cxx:1533
TDecompSparse.cxx:1534
TDecompSparse.cxx:1535
TDecompSparse.cxx:1536
TDecompSparse.cxx:1537
TDecompSparse.cxx:1538
TDecompSparse.cxx:1539
TDecompSparse.cxx:1540
TDecompSparse.cxx:1541
TDecompSparse.cxx:1542
TDecompSparse.cxx:1543
TDecompSparse.cxx:1544
TDecompSparse.cxx:1545
TDecompSparse.cxx:1546
TDecompSparse.cxx:1547
TDecompSparse.cxx:1548
TDecompSparse.cxx:1549
TDecompSparse.cxx:1550
TDecompSparse.cxx:1551
TDecompSparse.cxx:1552
TDecompSparse.cxx:1553
TDecompSparse.cxx:1554
TDecompSparse.cxx:1555
TDecompSparse.cxx:1556
TDecompSparse.cxx:1557
TDecompSparse.cxx:1558
TDecompSparse.cxx:1559
TDecompSparse.cxx:1560
TDecompSparse.cxx:1561
TDecompSparse.cxx:1562
TDecompSparse.cxx:1563
TDecompSparse.cxx:1564
TDecompSparse.cxx:1565
TDecompSparse.cxx:1566
TDecompSparse.cxx:1567
TDecompSparse.cxx:1568
TDecompSparse.cxx:1569
TDecompSparse.cxx:1570
TDecompSparse.cxx:1571
TDecompSparse.cxx:1572
TDecompSparse.cxx:1573
TDecompSparse.cxx:1574
TDecompSparse.cxx:1575
TDecompSparse.cxx:1576
TDecompSparse.cxx:1577
TDecompSparse.cxx:1578
TDecompSparse.cxx:1579
TDecompSparse.cxx:1580
TDecompSparse.cxx:1581
TDecompSparse.cxx:1582
TDecompSparse.cxx:1583
TDecompSparse.cxx:1584
TDecompSparse.cxx:1585
TDecompSparse.cxx:1586
TDecompSparse.cxx:1587
TDecompSparse.cxx:1588
TDecompSparse.cxx:1589
TDecompSparse.cxx:1590
TDecompSparse.cxx:1591
TDecompSparse.cxx:1592
TDecompSparse.cxx:1593
TDecompSparse.cxx:1594
TDecompSparse.cxx:1595
TDecompSparse.cxx:1596
TDecompSparse.cxx:1597
TDecompSparse.cxx:1598
TDecompSparse.cxx:1599
TDecompSparse.cxx:1600
TDecompSparse.cxx:1601
TDecompSparse.cxx:1602
TDecompSparse.cxx:1603
TDecompSparse.cxx:1604
TDecompSparse.cxx:1605
TDecompSparse.cxx:1606
TDecompSparse.cxx:1607
TDecompSparse.cxx:1608
TDecompSparse.cxx:1609
TDecompSparse.cxx:1610
TDecompSparse.cxx:1611
TDecompSparse.cxx:1612
TDecompSparse.cxx:1613
TDecompSparse.cxx:1614
TDecompSparse.cxx:1615
TDecompSparse.cxx:1616
TDecompSparse.cxx:1617
TDecompSparse.cxx:1618
TDecompSparse.cxx:1619
TDecompSparse.cxx:1620
TDecompSparse.cxx:1621
TDecompSparse.cxx:1622
TDecompSparse.cxx:1623
TDecompSparse.cxx:1624
TDecompSparse.cxx:1625
TDecompSparse.cxx:1626
TDecompSparse.cxx:1627
TDecompSparse.cxx:1628
TDecompSparse.cxx:1629
TDecompSparse.cxx:1630
TDecompSparse.cxx:1631
TDecompSparse.cxx:1632
TDecompSparse.cxx:1633
TDecompSparse.cxx:1634
TDecompSparse.cxx:1635
TDecompSparse.cxx:1636
TDecompSparse.cxx:1637
TDecompSparse.cxx:1638
TDecompSparse.cxx:1639
TDecompSparse.cxx:1640
TDecompSparse.cxx:1641
TDecompSparse.cxx:1642
TDecompSparse.cxx:1643
TDecompSparse.cxx:1644
TDecompSparse.cxx:1645
TDecompSparse.cxx:1646
TDecompSparse.cxx:1647
TDecompSparse.cxx:1648
TDecompSparse.cxx:1649
TDecompSparse.cxx:1650
TDecompSparse.cxx:1651
TDecompSparse.cxx:1652
TDecompSparse.cxx:1653
TDecompSparse.cxx:1654
TDecompSparse.cxx:1655
TDecompSparse.cxx:1656
TDecompSparse.cxx:1657
TDecompSparse.cxx:1658
TDecompSparse.cxx:1659
TDecompSparse.cxx:1660
TDecompSparse.cxx:1661
TDecompSparse.cxx:1662
TDecompSparse.cxx:1663
TDecompSparse.cxx:1664
TDecompSparse.cxx:1665
TDecompSparse.cxx:1666
TDecompSparse.cxx:1667
TDecompSparse.cxx:1668
TDecompSparse.cxx:1669
TDecompSparse.cxx:1670
TDecompSparse.cxx:1671
TDecompSparse.cxx:1672
TDecompSparse.cxx:1673
TDecompSparse.cxx:1674
TDecompSparse.cxx:1675
TDecompSparse.cxx:1676
TDecompSparse.cxx:1677
TDecompSparse.cxx:1678
TDecompSparse.cxx:1679
TDecompSparse.cxx:1680
TDecompSparse.cxx:1681
TDecompSparse.cxx:1682
TDecompSparse.cxx:1683
TDecompSparse.cxx:1684
TDecompSparse.cxx:1685
TDecompSparse.cxx:1686
TDecompSparse.cxx:1687
TDecompSparse.cxx:1688
TDecompSparse.cxx:1689
TDecompSparse.cxx:1690
TDecompSparse.cxx:1691
TDecompSparse.cxx:1692
TDecompSparse.cxx:1693
TDecompSparse.cxx:1694
TDecompSparse.cxx:1695
TDecompSparse.cxx:1696
TDecompSparse.cxx:1697
TDecompSparse.cxx:1698
TDecompSparse.cxx:1699
TDecompSparse.cxx:1700
TDecompSparse.cxx:1701
TDecompSparse.cxx:1702
TDecompSparse.cxx:1703
TDecompSparse.cxx:1704
TDecompSparse.cxx:1705
TDecompSparse.cxx:1706
TDecompSparse.cxx:1707
TDecompSparse.cxx:1708
TDecompSparse.cxx:1709
TDecompSparse.cxx:1710
TDecompSparse.cxx:1711
TDecompSparse.cxx:1712
TDecompSparse.cxx:1713
TDecompSparse.cxx:1714
TDecompSparse.cxx:1715
TDecompSparse.cxx:1716
TDecompSparse.cxx:1717
TDecompSparse.cxx:1718
TDecompSparse.cxx:1719
TDecompSparse.cxx:1720
TDecompSparse.cxx:1721
TDecompSparse.cxx:1722
TDecompSparse.cxx:1723
TDecompSparse.cxx:1724
TDecompSparse.cxx:1725
TDecompSparse.cxx:1726
TDecompSparse.cxx:1727
TDecompSparse.cxx:1728
TDecompSparse.cxx:1729
TDecompSparse.cxx:1730
TDecompSparse.cxx:1731
TDecompSparse.cxx:1732
TDecompSparse.cxx:1733
TDecompSparse.cxx:1734
TDecompSparse.cxx:1735
TDecompSparse.cxx:1736
TDecompSparse.cxx:1737
TDecompSparse.cxx:1738
TDecompSparse.cxx:1739
TDecompSparse.cxx:1740
TDecompSparse.cxx:1741
TDecompSparse.cxx:1742
TDecompSparse.cxx:1743
TDecompSparse.cxx:1744
TDecompSparse.cxx:1745
TDecompSparse.cxx:1746
TDecompSparse.cxx:1747
TDecompSparse.cxx:1748
TDecompSparse.cxx:1749
TDecompSparse.cxx:1750
TDecompSparse.cxx:1751
TDecompSparse.cxx:1752
TDecompSparse.cxx:1753
TDecompSparse.cxx:1754
TDecompSparse.cxx:1755
TDecompSparse.cxx:1756
TDecompSparse.cxx:1757
TDecompSparse.cxx:1758
TDecompSparse.cxx:1759
TDecompSparse.cxx:1760
TDecompSparse.cxx:1761
TDecompSparse.cxx:1762
TDecompSparse.cxx:1763
TDecompSparse.cxx:1764
TDecompSparse.cxx:1765
TDecompSparse.cxx:1766
TDecompSparse.cxx:1767
TDecompSparse.cxx:1768
TDecompSparse.cxx:1769
TDecompSparse.cxx:1770
TDecompSparse.cxx:1771
TDecompSparse.cxx:1772
TDecompSparse.cxx:1773
TDecompSparse.cxx:1774
TDecompSparse.cxx:1775
TDecompSparse.cxx:1776
TDecompSparse.cxx:1777
TDecompSparse.cxx:1778
TDecompSparse.cxx:1779
TDecompSparse.cxx:1780
TDecompSparse.cxx:1781
TDecompSparse.cxx:1782
TDecompSparse.cxx:1783
TDecompSparse.cxx:1784
TDecompSparse.cxx:1785
TDecompSparse.cxx:1786
TDecompSparse.cxx:1787
TDecompSparse.cxx:1788
TDecompSparse.cxx:1789
TDecompSparse.cxx:1790
TDecompSparse.cxx:1791
TDecompSparse.cxx:1792
TDecompSparse.cxx:1793
TDecompSparse.cxx:1794
TDecompSparse.cxx:1795
TDecompSparse.cxx:1796
TDecompSparse.cxx:1797
TDecompSparse.cxx:1798
TDecompSparse.cxx:1799
TDecompSparse.cxx:1800
TDecompSparse.cxx:1801
TDecompSparse.cxx:1802
TDecompSparse.cxx:1803
TDecompSparse.cxx:1804
TDecompSparse.cxx:1805
TDecompSparse.cxx:1806
TDecompSparse.cxx:1807
TDecompSparse.cxx:1808
TDecompSparse.cxx:1809
TDecompSparse.cxx:1810
TDecompSparse.cxx:1811
TDecompSparse.cxx:1812
TDecompSparse.cxx:1813
TDecompSparse.cxx:1814
TDecompSparse.cxx:1815
TDecompSparse.cxx:1816
TDecompSparse.cxx:1817
TDecompSparse.cxx:1818
TDecompSparse.cxx:1819
TDecompSparse.cxx:1820
TDecompSparse.cxx:1821
TDecompSparse.cxx:1822
TDecompSparse.cxx:1823
TDecompSparse.cxx:1824
TDecompSparse.cxx:1825
TDecompSparse.cxx:1826
TDecompSparse.cxx:1827
TDecompSparse.cxx:1828
TDecompSparse.cxx:1829
TDecompSparse.cxx:1830
TDecompSparse.cxx:1831
TDecompSparse.cxx:1832
TDecompSparse.cxx:1833
TDecompSparse.cxx:1834
TDecompSparse.cxx:1835
TDecompSparse.cxx:1836
TDecompSparse.cxx:1837
TDecompSparse.cxx:1838
TDecompSparse.cxx:1839
TDecompSparse.cxx:1840
TDecompSparse.cxx:1841
TDecompSparse.cxx:1842
TDecompSparse.cxx:1843
TDecompSparse.cxx:1844
TDecompSparse.cxx:1845
TDecompSparse.cxx:1846
TDecompSparse.cxx:1847
TDecompSparse.cxx:1848
TDecompSparse.cxx:1849
TDecompSparse.cxx:1850
TDecompSparse.cxx:1851
TDecompSparse.cxx:1852
TDecompSparse.cxx:1853
TDecompSparse.cxx:1854
TDecompSparse.cxx:1855
TDecompSparse.cxx:1856
TDecompSparse.cxx:1857
TDecompSparse.cxx:1858
TDecompSparse.cxx:1859
TDecompSparse.cxx:1860
TDecompSparse.cxx:1861
TDecompSparse.cxx:1862
TDecompSparse.cxx:1863
TDecompSparse.cxx:1864
TDecompSparse.cxx:1865
TDecompSparse.cxx:1866
TDecompSparse.cxx:1867
TDecompSparse.cxx:1868
TDecompSparse.cxx:1869
TDecompSparse.cxx:1870
TDecompSparse.cxx:1871
TDecompSparse.cxx:1872
TDecompSparse.cxx:1873
TDecompSparse.cxx:1874
TDecompSparse.cxx:1875
TDecompSparse.cxx:1876
TDecompSparse.cxx:1877
TDecompSparse.cxx:1878
TDecompSparse.cxx:1879
TDecompSparse.cxx:1880
TDecompSparse.cxx:1881
TDecompSparse.cxx:1882
TDecompSparse.cxx:1883
TDecompSparse.cxx:1884
TDecompSparse.cxx:1885
TDecompSparse.cxx:1886
TDecompSparse.cxx:1887
TDecompSparse.cxx:1888
TDecompSparse.cxx:1889
TDecompSparse.cxx:1890
TDecompSparse.cxx:1891
TDecompSparse.cxx:1892
TDecompSparse.cxx:1893
TDecompSparse.cxx:1894
TDecompSparse.cxx:1895
TDecompSparse.cxx:1896
TDecompSparse.cxx:1897
TDecompSparse.cxx:1898
TDecompSparse.cxx:1899
TDecompSparse.cxx:1900
TDecompSparse.cxx:1901
TDecompSparse.cxx:1902
TDecompSparse.cxx:1903
TDecompSparse.cxx:1904
TDecompSparse.cxx:1905
TDecompSparse.cxx:1906
TDecompSparse.cxx:1907
TDecompSparse.cxx:1908
TDecompSparse.cxx:1909
TDecompSparse.cxx:1910
TDecompSparse.cxx:1911
TDecompSparse.cxx:1912
TDecompSparse.cxx:1913
TDecompSparse.cxx:1914
TDecompSparse.cxx:1915
TDecompSparse.cxx:1916
TDecompSparse.cxx:1917
TDecompSparse.cxx:1918
TDecompSparse.cxx:1919
TDecompSparse.cxx:1920
TDecompSparse.cxx:1921
TDecompSparse.cxx:1922
TDecompSparse.cxx:1923
TDecompSparse.cxx:1924
TDecompSparse.cxx:1925
TDecompSparse.cxx:1926
TDecompSparse.cxx:1927
TDecompSparse.cxx:1928
TDecompSparse.cxx:1929
TDecompSparse.cxx:1930
TDecompSparse.cxx:1931
TDecompSparse.cxx:1932
TDecompSparse.cxx:1933
TDecompSparse.cxx:1934
TDecompSparse.cxx:1935
TDecompSparse.cxx:1936
TDecompSparse.cxx:1937
TDecompSparse.cxx:1938
TDecompSparse.cxx:1939
TDecompSparse.cxx:1940
TDecompSparse.cxx:1941
TDecompSparse.cxx:1942
TDecompSparse.cxx:1943
TDecompSparse.cxx:1944
TDecompSparse.cxx:1945
TDecompSparse.cxx:1946
TDecompSparse.cxx:1947
TDecompSparse.cxx:1948
TDecompSparse.cxx:1949
TDecompSparse.cxx:1950
TDecompSparse.cxx:1951
TDecompSparse.cxx:1952
TDecompSparse.cxx:1953
TDecompSparse.cxx:1954
TDecompSparse.cxx:1955
TDecompSparse.cxx:1956
TDecompSparse.cxx:1957
TDecompSparse.cxx:1958
TDecompSparse.cxx:1959
TDecompSparse.cxx:1960
TDecompSparse.cxx:1961
TDecompSparse.cxx:1962
TDecompSparse.cxx:1963
TDecompSparse.cxx:1964
TDecompSparse.cxx:1965
TDecompSparse.cxx:1966
TDecompSparse.cxx:1967
TDecompSparse.cxx:1968
TDecompSparse.cxx:1969
TDecompSparse.cxx:1970
TDecompSparse.cxx:1971
TDecompSparse.cxx:1972
TDecompSparse.cxx:1973
TDecompSparse.cxx:1974
TDecompSparse.cxx:1975
TDecompSparse.cxx:1976
TDecompSparse.cxx:1977
TDecompSparse.cxx:1978
TDecompSparse.cxx:1979
TDecompSparse.cxx:1980
TDecompSparse.cxx:1981
TDecompSparse.cxx:1982
TDecompSparse.cxx:1983
TDecompSparse.cxx:1984
TDecompSparse.cxx:1985
TDecompSparse.cxx:1986
TDecompSparse.cxx:1987
TDecompSparse.cxx:1988
TDecompSparse.cxx:1989
TDecompSparse.cxx:1990
TDecompSparse.cxx:1991
TDecompSparse.cxx:1992
TDecompSparse.cxx:1993
TDecompSparse.cxx:1994
TDecompSparse.cxx:1995
TDecompSparse.cxx:1996
TDecompSparse.cxx:1997
TDecompSparse.cxx:1998
TDecompSparse.cxx:1999
TDecompSparse.cxx:2000
TDecompSparse.cxx:2001
TDecompSparse.cxx:2002
TDecompSparse.cxx:2003
TDecompSparse.cxx:2004
TDecompSparse.cxx:2005
TDecompSparse.cxx:2006
TDecompSparse.cxx:2007
TDecompSparse.cxx:2008
TDecompSparse.cxx:2009
TDecompSparse.cxx:2010
TDecompSparse.cxx:2011
TDecompSparse.cxx:2012
TDecompSparse.cxx:2013
TDecompSparse.cxx:2014
TDecompSparse.cxx:2015
TDecompSparse.cxx:2016
TDecompSparse.cxx:2017
TDecompSparse.cxx:2018
TDecompSparse.cxx:2019
TDecompSparse.cxx:2020
TDecompSparse.cxx:2021
TDecompSparse.cxx:2022
TDecompSparse.cxx:2023
TDecompSparse.cxx:2024
TDecompSparse.cxx:2025
TDecompSparse.cxx:2026
TDecompSparse.cxx:2027
TDecompSparse.cxx:2028
TDecompSparse.cxx:2029
TDecompSparse.cxx:2030
TDecompSparse.cxx:2031
TDecompSparse.cxx:2032
TDecompSparse.cxx:2033
TDecompSparse.cxx:2034
TDecompSparse.cxx:2035
TDecompSparse.cxx:2036
TDecompSparse.cxx:2037
TDecompSparse.cxx:2038
TDecompSparse.cxx:2039
TDecompSparse.cxx:2040
TDecompSparse.cxx:2041
TDecompSparse.cxx:2042
TDecompSparse.cxx:2043
TDecompSparse.cxx:2044
TDecompSparse.cxx:2045
TDecompSparse.cxx:2046
TDecompSparse.cxx:2047
TDecompSparse.cxx:2048
TDecompSparse.cxx:2049
TDecompSparse.cxx:2050
TDecompSparse.cxx:2051
TDecompSparse.cxx:2052
TDecompSparse.cxx:2053
TDecompSparse.cxx:2054
TDecompSparse.cxx:2055
TDecompSparse.cxx:2056
TDecompSparse.cxx:2057
TDecompSparse.cxx:2058
TDecompSparse.cxx:2059
TDecompSparse.cxx:2060
TDecompSparse.cxx:2061
TDecompSparse.cxx:2062
TDecompSparse.cxx:2063
TDecompSparse.cxx:2064
TDecompSparse.cxx:2065
TDecompSparse.cxx:2066
TDecompSparse.cxx:2067
TDecompSparse.cxx:2068
TDecompSparse.cxx:2069
TDecompSparse.cxx:2070
TDecompSparse.cxx:2071
TDecompSparse.cxx:2072
TDecompSparse.cxx:2073
TDecompSparse.cxx:2074
TDecompSparse.cxx:2075
TDecompSparse.cxx:2076
TDecompSparse.cxx:2077
TDecompSparse.cxx:2078
TDecompSparse.cxx:2079
TDecompSparse.cxx:2080
TDecompSparse.cxx:2081
TDecompSparse.cxx:2082
TDecompSparse.cxx:2083
TDecompSparse.cxx:2084
TDecompSparse.cxx:2085
TDecompSparse.cxx:2086
TDecompSparse.cxx:2087
TDecompSparse.cxx:2088
TDecompSparse.cxx:2089
TDecompSparse.cxx:2090
TDecompSparse.cxx:2091
TDecompSparse.cxx:2092
TDecompSparse.cxx:2093
TDecompSparse.cxx:2094
TDecompSparse.cxx:2095
TDecompSparse.cxx:2096
TDecompSparse.cxx:2097
TDecompSparse.cxx:2098
TDecompSparse.cxx:2099
TDecompSparse.cxx:2100
TDecompSparse.cxx:2101
TDecompSparse.cxx:2102
TDecompSparse.cxx:2103
TDecompSparse.cxx:2104
TDecompSparse.cxx:2105
TDecompSparse.cxx:2106
TDecompSparse.cxx:2107
TDecompSparse.cxx:2108
TDecompSparse.cxx:2109
TDecompSparse.cxx:2110
TDecompSparse.cxx:2111
TDecompSparse.cxx:2112
TDecompSparse.cxx:2113
TDecompSparse.cxx:2114
TDecompSparse.cxx:2115
TDecompSparse.cxx:2116
TDecompSparse.cxx:2117
TDecompSparse.cxx:2118
TDecompSparse.cxx:2119
TDecompSparse.cxx:2120
TDecompSparse.cxx:2121
TDecompSparse.cxx:2122
TDecompSparse.cxx:2123
TDecompSparse.cxx:2124
TDecompSparse.cxx:2125
TDecompSparse.cxx:2126
TDecompSparse.cxx:2127
TDecompSparse.cxx:2128
TDecompSparse.cxx:2129
TDecompSparse.cxx:2130
TDecompSparse.cxx:2131
TDecompSparse.cxx:2132
TDecompSparse.cxx:2133
TDecompSparse.cxx:2134
TDecompSparse.cxx:2135
TDecompSparse.cxx:2136
TDecompSparse.cxx:2137
TDecompSparse.cxx:2138
TDecompSparse.cxx:2139
TDecompSparse.cxx:2140
TDecompSparse.cxx:2141
TDecompSparse.cxx:2142
TDecompSparse.cxx:2143
TDecompSparse.cxx:2144
TDecompSparse.cxx:2145
TDecompSparse.cxx:2146
TDecompSparse.cxx:2147
TDecompSparse.cxx:2148
TDecompSparse.cxx:2149
TDecompSparse.cxx:2150
TDecompSparse.cxx:2151
TDecompSparse.cxx:2152
TDecompSparse.cxx:2153
TDecompSparse.cxx:2154
TDecompSparse.cxx:2155
TDecompSparse.cxx:2156
TDecompSparse.cxx:2157
TDecompSparse.cxx:2158
TDecompSparse.cxx:2159
TDecompSparse.cxx:2160
TDecompSparse.cxx:2161
TDecompSparse.cxx:2162
TDecompSparse.cxx:2163
TDecompSparse.cxx:2164
TDecompSparse.cxx:2165
TDecompSparse.cxx:2166
TDecompSparse.cxx:2167
TDecompSparse.cxx:2168
TDecompSparse.cxx:2169
TDecompSparse.cxx:2170
TDecompSparse.cxx:2171
TDecompSparse.cxx:2172
TDecompSparse.cxx:2173
TDecompSparse.cxx:2174
TDecompSparse.cxx:2175
TDecompSparse.cxx:2176
TDecompSparse.cxx:2177
TDecompSparse.cxx:2178
TDecompSparse.cxx:2179
TDecompSparse.cxx:2180
TDecompSparse.cxx:2181
TDecompSparse.cxx:2182
TDecompSparse.cxx:2183
TDecompSparse.cxx:2184
TDecompSparse.cxx:2185
TDecompSparse.cxx:2186
TDecompSparse.cxx:2187
TDecompSparse.cxx:2188
TDecompSparse.cxx:2189
TDecompSparse.cxx:2190
TDecompSparse.cxx:2191
TDecompSparse.cxx:2192
TDecompSparse.cxx:2193
TDecompSparse.cxx:2194
TDecompSparse.cxx:2195
TDecompSparse.cxx:2196
TDecompSparse.cxx:2197
TDecompSparse.cxx:2198
TDecompSparse.cxx:2199
TDecompSparse.cxx:2200
TDecompSparse.cxx:2201
TDecompSparse.cxx:2202
TDecompSparse.cxx:2203
TDecompSparse.cxx:2204
TDecompSparse.cxx:2205
TDecompSparse.cxx:2206
TDecompSparse.cxx:2207
TDecompSparse.cxx:2208
TDecompSparse.cxx:2209
TDecompSparse.cxx:2210
TDecompSparse.cxx:2211
TDecompSparse.cxx:2212
TDecompSparse.cxx:2213
TDecompSparse.cxx:2214
TDecompSparse.cxx:2215
TDecompSparse.cxx:2216
TDecompSparse.cxx:2217
TDecompSparse.cxx:2218
TDecompSparse.cxx:2219
TDecompSparse.cxx:2220
TDecompSparse.cxx:2221
TDecompSparse.cxx:2222
TDecompSparse.cxx:2223
TDecompSparse.cxx:2224
TDecompSparse.cxx:2225
TDecompSparse.cxx:2226
TDecompSparse.cxx:2227
TDecompSparse.cxx:2228
TDecompSparse.cxx:2229
TDecompSparse.cxx:2230
TDecompSparse.cxx:2231
TDecompSparse.cxx:2232
TDecompSparse.cxx:2233
TDecompSparse.cxx:2234
TDecompSparse.cxx:2235
TDecompSparse.cxx:2236
TDecompSparse.cxx:2237
TDecompSparse.cxx:2238
TDecompSparse.cxx:2239
TDecompSparse.cxx:2240
TDecompSparse.cxx:2241
TDecompSparse.cxx:2242
TDecompSparse.cxx:2243
TDecompSparse.cxx:2244
TDecompSparse.cxx:2245
TDecompSparse.cxx:2246
TDecompSparse.cxx:2247
TDecompSparse.cxx:2248
TDecompSparse.cxx:2249
TDecompSparse.cxx:2250
TDecompSparse.cxx:2251
TDecompSparse.cxx:2252
TDecompSparse.cxx:2253
TDecompSparse.cxx:2254
TDecompSparse.cxx:2255
TDecompSparse.cxx:2256
TDecompSparse.cxx:2257
TDecompSparse.cxx:2258
TDecompSparse.cxx:2259
TDecompSparse.cxx:2260
TDecompSparse.cxx:2261
TDecompSparse.cxx:2262
TDecompSparse.cxx:2263
TDecompSparse.cxx:2264
TDecompSparse.cxx:2265
TDecompSparse.cxx:2266
TDecompSparse.cxx:2267
TDecompSparse.cxx:2268
TDecompSparse.cxx:2269
TDecompSparse.cxx:2270
TDecompSparse.cxx:2271
TDecompSparse.cxx:2272
TDecompSparse.cxx:2273
TDecompSparse.cxx:2274
TDecompSparse.cxx:2275
TDecompSparse.cxx:2276
TDecompSparse.cxx:2277
TDecompSparse.cxx:2278
TDecompSparse.cxx:2279
TDecompSparse.cxx:2280
TDecompSparse.cxx:2281
TDecompSparse.cxx:2282
TDecompSparse.cxx:2283
TDecompSparse.cxx:2284
TDecompSparse.cxx:2285
TDecompSparse.cxx:2286
TDecompSparse.cxx:2287
TDecompSparse.cxx:2288
TDecompSparse.cxx:2289
TDecompSparse.cxx:2290
TDecompSparse.cxx:2291
TDecompSparse.cxx:2292
TDecompSparse.cxx:2293
TDecompSparse.cxx:2294
TDecompSparse.cxx:2295
TDecompSparse.cxx:2296
TDecompSparse.cxx:2297
TDecompSparse.cxx:2298
TDecompSparse.cxx:2299
TDecompSparse.cxx:2300
TDecompSparse.cxx:2301
TDecompSparse.cxx:2302
TDecompSparse.cxx:2303
TDecompSparse.cxx:2304
TDecompSparse.cxx:2305
TDecompSparse.cxx:2306
TDecompSparse.cxx:2307
TDecompSparse.cxx:2308
TDecompSparse.cxx:2309
TDecompSparse.cxx:2310
TDecompSparse.cxx:2311
TDecompSparse.cxx:2312
TDecompSparse.cxx:2313
TDecompSparse.cxx:2314
TDecompSparse.cxx:2315
TDecompSparse.cxx:2316
TDecompSparse.cxx:2317
TDecompSparse.cxx:2318
TDecompSparse.cxx:2319
TDecompSparse.cxx:2320
TDecompSparse.cxx:2321
TDecompSparse.cxx:2322
TDecompSparse.cxx:2323
TDecompSparse.cxx:2324
TDecompSparse.cxx:2325
TDecompSparse.cxx:2326
TDecompSparse.cxx:2327
TDecompSparse.cxx:2328
TDecompSparse.cxx:2329
TDecompSparse.cxx:2330
TDecompSparse.cxx:2331
TDecompSparse.cxx:2332
TDecompSparse.cxx:2333
TDecompSparse.cxx:2334
TDecompSparse.cxx:2335
TDecompSparse.cxx:2336
TDecompSparse.cxx:2337
TDecompSparse.cxx:2338
TDecompSparse.cxx:2339
TDecompSparse.cxx:2340
TDecompSparse.cxx:2341
TDecompSparse.cxx:2342
TDecompSparse.cxx:2343
TDecompSparse.cxx:2344
TDecompSparse.cxx:2345
TDecompSparse.cxx:2346
TDecompSparse.cxx:2347
TDecompSparse.cxx:2348
TDecompSparse.cxx:2349
TDecompSparse.cxx:2350
TDecompSparse.cxx:2351
TDecompSparse.cxx:2352
TDecompSparse.cxx:2353
TDecompSparse.cxx:2354
TDecompSparse.cxx:2355
TDecompSparse.cxx:2356
TDecompSparse.cxx:2357
TDecompSparse.cxx:2358
TDecompSparse.cxx:2359
TDecompSparse.cxx:2360
TDecompSparse.cxx:2361
TDecompSparse.cxx:2362
TDecompSparse.cxx:2363
TDecompSparse.cxx:2364
TDecompSparse.cxx:2365
TDecompSparse.cxx:2366
TDecompSparse.cxx:2367
TDecompSparse.cxx:2368
TDecompSparse.cxx:2369
TDecompSparse.cxx:2370
TDecompSparse.cxx:2371
TDecompSparse.cxx:2372
TDecompSparse.cxx:2373
TDecompSparse.cxx:2374
TDecompSparse.cxx:2375
TDecompSparse.cxx:2376
TDecompSparse.cxx:2377
TDecompSparse.cxx:2378
TDecompSparse.cxx:2379
TDecompSparse.cxx:2380
TDecompSparse.cxx:2381
TDecompSparse.cxx:2382
TDecompSparse.cxx:2383
TDecompSparse.cxx:2384
TDecompSparse.cxx:2385
TDecompSparse.cxx:2386
TDecompSparse.cxx:2387
TDecompSparse.cxx:2388
TDecompSparse.cxx:2389
TDecompSparse.cxx:2390
TDecompSparse.cxx:2391
TDecompSparse.cxx:2392
TDecompSparse.cxx:2393
TDecompSparse.cxx:2394
TDecompSparse.cxx:2395
TDecompSparse.cxx:2396
TDecompSparse.cxx:2397
TDecompSparse.cxx:2398
TDecompSparse.cxx:2399
TDecompSparse.cxx:2400
TDecompSparse.cxx:2401
TDecompSparse.cxx:2402
TDecompSparse.cxx:2403
TDecompSparse.cxx:2404
TDecompSparse.cxx:2405
TDecompSparse.cxx:2406
TDecompSparse.cxx:2407
TDecompSparse.cxx:2408
TDecompSparse.cxx:2409
TDecompSparse.cxx:2410
TDecompSparse.cxx:2411
TDecompSparse.cxx:2412
TDecompSparse.cxx:2413
TDecompSparse.cxx:2414
TDecompSparse.cxx:2415
TDecompSparse.cxx:2416
TDecompSparse.cxx:2417
TDecompSparse.cxx:2418
TDecompSparse.cxx:2419
TDecompSparse.cxx:2420
TDecompSparse.cxx:2421
TDecompSparse.cxx:2422
TDecompSparse.cxx:2423
TDecompSparse.cxx:2424
TDecompSparse.cxx:2425
TDecompSparse.cxx:2426
TDecompSparse.cxx:2427
TDecompSparse.cxx:2428
TDecompSparse.cxx:2429
TDecompSparse.cxx:2430
TDecompSparse.cxx:2431
TDecompSparse.cxx:2432
TDecompSparse.cxx:2433
TDecompSparse.cxx:2434
TDecompSparse.cxx:2435
TDecompSparse.cxx:2436
TDecompSparse.cxx:2437
TDecompSparse.cxx:2438
TDecompSparse.cxx:2439
TDecompSparse.cxx:2440
TDecompSparse.cxx:2441
TDecompSparse.cxx:2442
TDecompSparse.cxx:2443
TDecompSparse.cxx:2444
TDecompSparse.cxx:2445
TDecompSparse.cxx:2446
TDecompSparse.cxx:2447
TDecompSparse.cxx:2448
TDecompSparse.cxx:2449
TDecompSparse.cxx:2450
TDecompSparse.cxx:2451
TDecompSparse.cxx:2452
TDecompSparse.cxx:2453
TDecompSparse.cxx:2454
TDecompSparse.cxx:2455
TDecompSparse.cxx:2456
TDecompSparse.cxx:2457
TDecompSparse.cxx:2458
TDecompSparse.cxx:2459
TDecompSparse.cxx:2460
TDecompSparse.cxx:2461
TDecompSparse.cxx:2462
TDecompSparse.cxx:2463
TDecompSparse.cxx:2464
TDecompSparse.cxx:2465
TDecompSparse.cxx:2466
TDecompSparse.cxx:2467
TDecompSparse.cxx:2468
TDecompSparse.cxx:2469
TDecompSparse.cxx:2470
TDecompSparse.cxx:2471
TDecompSparse.cxx:2472
TDecompSparse.cxx:2473
TDecompSparse.cxx:2474
TDecompSparse.cxx:2475
TDecompSparse.cxx:2476
TDecompSparse.cxx:2477
TDecompSparse.cxx:2478
TDecompSparse.cxx:2479
TDecompSparse.cxx:2480
TDecompSparse.cxx:2481
TDecompSparse.cxx:2482
TDecompSparse.cxx:2483
TDecompSparse.cxx:2484
TDecompSparse.cxx:2485
TDecompSparse.cxx:2486
TDecompSparse.cxx:2487
TDecompSparse.cxx:2488
TDecompSparse.cxx:2489
TDecompSparse.cxx:2490
TDecompSparse.cxx:2491
TDecompSparse.cxx:2492
TDecompSparse.cxx:2493
TDecompSparse.cxx:2494
TDecompSparse.cxx:2495
TDecompSparse.cxx:2496
TDecompSparse.cxx:2497
TDecompSparse.cxx:2498
TDecompSparse.cxx:2499
TDecompSparse.cxx:2500
TDecompSparse.cxx:2501
TDecompSparse.cxx:2502
TDecompSparse.cxx:2503
TDecompSparse.cxx:2504
TDecompSparse.cxx:2505
TDecompSparse.cxx:2506
TDecompSparse.cxx:2507
TDecompSparse.cxx:2508
TDecompSparse.cxx:2509
TDecompSparse.cxx:2510
TDecompSparse.cxx:2511
TDecompSparse.cxx:2512
TDecompSparse.cxx:2513
TDecompSparse.cxx:2514
TDecompSparse.cxx:2515
TDecompSparse.cxx:2516
TDecompSparse.cxx:2517
TDecompSparse.cxx:2518
TDecompSparse.cxx:2519
TDecompSparse.cxx:2520
TDecompSparse.cxx:2521
TDecompSparse.cxx:2522
TDecompSparse.cxx:2523
TDecompSparse.cxx:2524
TDecompSparse.cxx:2525
TDecompSparse.cxx:2526
TDecompSparse.cxx:2527
TDecompSparse.cxx:2528
TDecompSparse.cxx:2529
TDecompSparse.cxx:2530
TDecompSparse.cxx:2531
TDecompSparse.cxx:2532
TDecompSparse.cxx:2533
TDecompSparse.cxx:2534
TDecompSparse.cxx:2535
TDecompSparse.cxx:2536
TDecompSparse.cxx:2537
TDecompSparse.cxx:2538
TDecompSparse.cxx:2539
TDecompSparse.cxx:2540
TDecompSparse.cxx:2541
TDecompSparse.cxx:2542
TDecompSparse.cxx:2543
TDecompSparse.cxx:2544
TDecompSparse.cxx:2545
TDecompSparse.cxx:2546
TDecompSparse.cxx:2547
TDecompSparse.cxx:2548
TDecompSparse.cxx:2549
TDecompSparse.cxx:2550
TDecompSparse.cxx:2551
TDecompSparse.cxx:2552
TDecompSparse.cxx:2553
TDecompSparse.cxx:2554
TDecompSparse.cxx:2555
TDecompSparse.cxx:2556
TDecompSparse.cxx:2557
TDecompSparse.cxx:2558
TDecompSparse.cxx:2559
TDecompSparse.cxx:2560
TDecompSparse.cxx:2561
TDecompSparse.cxx:2562
TDecompSparse.cxx:2563
TDecompSparse.cxx:2564
TDecompSparse.cxx:2565
TDecompSparse.cxx:2566
TDecompSparse.cxx:2567
TDecompSparse.cxx:2568
TDecompSparse.cxx:2569
TDecompSparse.cxx:2570
TDecompSparse.cxx:2571
TDecompSparse.cxx:2572
TDecompSparse.cxx:2573
TDecompSparse.cxx:2574
TDecompSparse.cxx:2575
TDecompSparse.cxx:2576
TDecompSparse.cxx:2577
TDecompSparse.cxx:2578
TDecompSparse.cxx:2579
TDecompSparse.cxx:2580
TDecompSparse.cxx:2581
TDecompSparse.cxx:2582
TDecompSparse.cxx:2583
TDecompSparse.cxx:2584
TDecompSparse.cxx:2585
TDecompSparse.cxx:2586
TDecompSparse.cxx:2587
TDecompSparse.cxx:2588
TDecompSparse.cxx:2589
TDecompSparse.cxx:2590
TDecompSparse.cxx:2591
TDecompSparse.cxx:2592
TDecompSparse.cxx:2593
TDecompSparse.cxx:2594
TDecompSparse.cxx:2595
TDecompSparse.cxx:2596
TDecompSparse.cxx:2597
TDecompSparse.cxx:2598
TDecompSparse.cxx:2599
TDecompSparse.cxx:2600
TDecompSparse.cxx:2601
TDecompSparse.cxx:2602
TDecompSparse.cxx:2603
TDecompSparse.cxx:2604
TDecompSparse.cxx:2605
TDecompSparse.cxx:2606
TDecompSparse.cxx:2607
TDecompSparse.cxx:2608
TDecompSparse.cxx:2609
TDecompSparse.cxx:2610
TDecompSparse.cxx:2611
TDecompSparse.cxx:2612
TDecompSparse.cxx:2613
TDecompSparse.cxx:2614
TDecompSparse.cxx:2615
TDecompSparse.cxx:2616
TDecompSparse.cxx:2617
TDecompSparse.cxx:2618
TDecompSparse.cxx:2619
TDecompSparse.cxx:2620
TDecompSparse.cxx:2621
TDecompSparse.cxx:2622
TDecompSparse.cxx:2623
TDecompSparse.cxx:2624
TDecompSparse.cxx:2625
TDecompSparse.cxx:2626
TDecompSparse.cxx:2627
TDecompSparse.cxx:2628
TDecompSparse.cxx:2629
TDecompSparse.cxx:2630
TDecompSparse.cxx:2631
TDecompSparse.cxx:2632
TDecompSparse.cxx:2633
TDecompSparse.cxx:2634
TDecompSparse.cxx:2635
TDecompSparse.cxx:2636
TDecompSparse.cxx:2637
TDecompSparse.cxx:2638
TDecompSparse.cxx:2639
TDecompSparse.cxx:2640
TDecompSparse.cxx:2641
TDecompSparse.cxx:2642
TDecompSparse.cxx:2643
TDecompSparse.cxx:2644
TDecompSparse.cxx:2645
TDecompSparse.cxx:2646
TDecompSparse.cxx:2647
TDecompSparse.cxx:2648
TDecompSparse.cxx:2649
TDecompSparse.cxx:2650
TDecompSparse.cxx:2651
TDecompSparse.cxx:2652
TDecompSparse.cxx:2653
TDecompSparse.cxx:2654
TDecompSparse.cxx:2655
TDecompSparse.cxx:2656
TDecompSparse.cxx:2657
TDecompSparse.cxx:2658
TDecompSparse.cxx:2659
TDecompSparse.cxx:2660
TDecompSparse.cxx:2661
TDecompSparse.cxx:2662
TDecompSparse.cxx:2663
TDecompSparse.cxx:2664
TDecompSparse.cxx:2665
TDecompSparse.cxx:2666
TDecompSparse.cxx:2667
TDecompSparse.cxx:2668
TDecompSparse.cxx:2669
TDecompSparse.cxx:2670
TDecompSparse.cxx:2671
TDecompSparse.cxx:2672
TDecompSparse.cxx:2673
TDecompSparse.cxx:2674
TDecompSparse.cxx:2675
TDecompSparse.cxx:2676
TDecompSparse.cxx:2677
TDecompSparse.cxx:2678
TDecompSparse.cxx:2679
TDecompSparse.cxx:2680
TDecompSparse.cxx:2681
TDecompSparse.cxx:2682
TDecompSparse.cxx:2683
TDecompSparse.cxx:2684
TDecompSparse.cxx:2685
TDecompSparse.cxx:2686
TDecompSparse.cxx:2687
TDecompSparse.cxx:2688
TDecompSparse.cxx:2689
TDecompSparse.cxx:2690
TDecompSparse.cxx:2691
TDecompSparse.cxx:2692
TDecompSparse.cxx:2693
TDecompSparse.cxx:2694
TDecompSparse.cxx:2695
TDecompSparse.cxx:2696
TDecompSparse.cxx:2697
TDecompSparse.cxx:2698
TDecompSparse.cxx:2699
TDecompSparse.cxx:2700
TDecompSparse.cxx:2701
TDecompSparse.cxx:2702
TDecompSparse.cxx:2703
TDecompSparse.cxx:2704
TDecompSparse.cxx:2705
TDecompSparse.cxx:2706
TDecompSparse.cxx:2707
TDecompSparse.cxx:2708
TDecompSparse.cxx:2709
TDecompSparse.cxx:2710
TDecompSparse.cxx:2711
TDecompSparse.cxx:2712
TDecompSparse.cxx:2713
TDecompSparse.cxx:2714
TDecompSparse.cxx:2715
TDecompSparse.cxx:2716
TDecompSparse.cxx:2717
TDecompSparse.cxx:2718
TDecompSparse.cxx:2719
TDecompSparse.cxx:2720
TDecompSparse.cxx:2721
TDecompSparse.cxx:2722
TDecompSparse.cxx:2723
TDecompSparse.cxx:2724
TDecompSparse.cxx:2725
TDecompSparse.cxx:2726
TDecompSparse.cxx:2727
TDecompSparse.cxx:2728
TDecompSparse.cxx:2729