22 #define REPORT { static ExeCounter ExeCount(__LINE__,3); ++ExeCount; } 30 #define MONITOR(what,store,storage) {} 143 Real* Mstore = store+mrc.
rowcol;
int i=nrows_val;
146 { *ColCopy++ = *Mstore;
if (!(--i))
break; Mstore+=ncols_val; }
158 Real* Mstore = store+mrc.
rowcol;
int i=nrows_val;
161 { *ColCopy++ = *Mstore;
if (!(--i))
break; Mstore+=ncols_val; }
172 Real* Mstore = store+mrc.
rowcol;
int i=nrows_val;
176 { *Mstore = *Cstore++;
if (!(--i))
break; Mstore+=ncols_val; }
186 { *Mstore = *Cstore++;
if (!(--i))
break; Mstore+=ncols_val; }
202 Real* Mstore = store+mrc.
rowcol;
int i=nrows_val;
205 { *ColCopy++ = *Mstore;
if (!(--i))
break; Mstore+=ncols_val; }
222 Real* Mstore = store+mrc.
rowcol;
int i=nrows_val;
225 { *ColCopy++ = *Mstore;
if (!(--i))
break; Mstore+=ncols_val; }
271 if (t1 && mrc.
rowcol < ncols_val)
281 mrc.
storage=ncols_val-row; mrc.
data=store+(row*(2*ncols_val-row+1))/2;
301 Real* Mstore = store+mrc.
rowcol;
int j = ncols_val;
304 { *ColCopy++ = *Mstore;
if (!(--i))
break; Mstore += --j; }
317 Real* Mstore = store+mrc.
rowcol;
int j = ncols_val;
320 { *ColCopy++ = *Mstore;
if (!(--i))
break; Mstore += --j; }
331 { *Mstore = *Cstore++;
if (!(--i))
break; Mstore += --j; }
343 mrc.
data=store+(row*(row+1))/2;
364 Real* Mstore = store+(col*(col+3))/2;
367 { *ColCopy++ = *Mstore;
if (!(--i))
break; Mstore += ++col; }
380 Real* Mstore = store+(col*(col+3))/2;
383 { *ColCopy++ = *Mstore;
if (!(--i))
break; Mstore += ++col; }
391 Real* Mstore = store+(col*(col+3))/2;
int i=nrows_val-col;
394 { *Mstore = *Cstore++;
if (!(--i))
break; Mstore += ++col; }
425 Real* Mstore = store+(row*(row+1))/2;
int i = row;
426 while (i--) *RowCopy++ = *Mstore++;
430 { *RowCopy++ = *Mstore;
if (!(--i))
break; Mstore += ++row; }
464 Real* Mstore = store+(col*(col+1))/2;
int i = col;
465 while (i--) *ColCopy++ = *Mstore++;
469 { *ColCopy++ = *Mstore;
if (!(--i))
break; Mstore += ++col; }
486 Real* Mstore = store+(col*(col+3))/2;
489 { *ColCopy++ = *Mstore;
if (!(--i))
break; Mstore += ++col; }
504 Real* Mstore = store+(col*(col+1))/2;
int i = col;
505 while (i--) *ColCopy++ = *Mstore++;
509 { *ColCopy++ = *Mstore;
if (!(--i))
break; Mstore += ++col; }
521 Real* Mstore = store+(col*(col+3))/2;
int i = nrows_val-col;
524 { *Mstore = *Cstore++;
if (!(--i))
break; Mstore+= ++col; }
559 if (mrc.
rowcol < ncols_val)
575 int r = mrc.
rowcol;
int w = lower_val+1+upper_val; mrc.
length=ncols_val;
577 if (s<0) { mrc.
data = store+(r*w-s); w += s; s = 0; }
578 else mrc.
data = store+r*w;
579 mrc.
skip = s; s += w-ncols_val;
if (s>0) w -= s; mrc.
storage = w;
588 if (r<=lower_val) { mrc.
storage++; mrc.
data += lower_val+upper_val; }
589 else { mrc.
skip++; mrc.
data += lower_val+upper_val+1; }
590 if (r>=ncols_val-upper_val) mrc.
storage--;
596 int c = mrc.
rowcol;
int n = lower_val+upper_val;
int w = n+1;
598 int b;
int s = c-upper_val;
599 if (s<=0) { w += s; s = 0; b = c+lower_val; }
else b = s*w+n;
600 mrc.
skip = s; s += w-nrows_val;
if (s>0) w -= s; mrc.
storage = w;
614 Real* Mstore = store+b;
617 { *ColCopy++ = *Mstore;
if (!(--w))
break; Mstore+=n; }
624 int c = mrc.
rowcol;
int n = lower_val+upper_val;
int w = n+1;
625 mrc.
length=nrows_val;
int b;
int s = c-upper_val;
626 if (s<=0) { w += s; s = 0; b = c+lower_val; }
else b = s*w+n;
627 mrc.
skip = s; s += w-nrows_val;
if (s>0) w -= s; mrc.
storage = w;
636 { *ColCopy++ = *Mstore;
if (!(--w))
break; Mstore+=n; }
643 int c = mrc.
rowcol;
int n = lower_val+upper_val;
int s = c-upper_val;
644 Real* Mstore = store + ((s<=0) ? c+lower_val : s*n+s+n);
649 { *Mstore = *Cstore++;
if (!(--w))
break; Mstore += n; }
657 int r=mrc.
rowcol;
int s = r-lower_val;
int w1 = lower_val+1;
int o = r*w1;
659 if (s<0) { w1 += s; o -= s; s = 0; }
669 int w = w1+lower_val; s += w-ncols_val;
Real* RowCopy;
670 if (s>0) w -= s; mrc.
storage = w;
int w2 = w-w1;
683 Real* Mstore = store+o;
684 while (w1--) *RowCopy++ = *Mstore++;
686 while (w2--) { Mstore += lower_val; *RowCopy++ = *Mstore; }
697 int c=mrc.
rowcol;
int w1 = lower_val+1; mrc.
length=nrows_val;
699 int s = c-lower_val;
int o = c*w1;
700 if (s<0) { w1 += s; o -= s; s = 0; }
710 int w = w1+lower_val; s += w-ncols_val;
Real* ColCopy;
711 if (s>0) w -= s; mrc.
storage = w;
int w2 = w-w1;
724 Real* Mstore = store+o;
725 while (w1--) *ColCopy++ = *Mstore++;
727 while (w2--) { Mstore += lower_val; *ColCopy++ = *Mstore; }
734 int c=mrc.
rowcol;
int w1 = lower_val+1; mrc.
length=nrows_val;
738 int b = c*w1+lower_val;
739 mrc.
skip = c; c += w1-nrows_val; w1 -= c; mrc.
storage = w1;
744 Real* Mstore = store+b;
747 { *ColCopy++ = *Mstore;
if (!(--w1))
break; Mstore += lower_val; }
756 int s = c-lower_val;
int o = c*w1;
757 if (s<0) { w1 += s; o -= s; s = 0; }
760 int w = w1+lower_val; s += w-ncols_val;
761 if (s>0) w -= s; mrc.
storage = w;
int w2 = w-w1;
768 Real* Mstore = store+o;
769 while (w1--) *ColCopy++ = *Mstore++;
771 while (w2--) { Mstore += lower_val; *ColCopy++ = *Mstore; }
781 Real* Mstore = store + c*lower_val+c+lower_val;
785 { *Mstore = *Cstore++;
if (!(--w))
break; Mstore += lower_val; }
void RestoreCol(MatrixRowCol &)
void NextRow(MatrixRowCol &)
void GetCol(MatrixRowCol &)
Internal newmat exception - shouldn't happen.
void NextRow(MatrixRowCol &)
void NextRow(MatrixRowCol &)
void GetCol(MatrixRowCol &)
void RestoreCol(MatrixRowCol &)
void GetCol(MatrixRowCol &)
void GetRow(MatrixRowCol &)
void GetCol(MatrixRowCol &)
void RestoreCol(MatrixRowCol &)
void NextRow(MatrixRowCol &)
void GetCol(MatrixRowCol &)
void GetRow(MatrixRowCol &)
void GetCol(MatrixRowCol &)
virtual void NextRow(MatrixRowCol &)
virtual void NextCol(MatrixRowCol &)
void GetCol(MatrixRowCol &)
#define MONITOR_REAL_DELETE(Operation, Size, Pointer)
void NextCol(MatrixRowCol &)
void GetRow(MatrixRowCol &)
void NextCol(MatrixRowCol &)
void RestoreCol(MatrixRowCol &)
#define MONITOR_REAL_NEW(Operation, Size, Pointer)
void NextCol(MatrixRowCol &)
void RestoreCol(MatrixRowCol &)
void RestoreCol(MatrixRowCol &)
void GetCol(MatrixRowCol &)
void MatrixErrorNoSpace(const void *)
test for allocation fails
void NextCol(MatrixRowCol &)
void RestoreCol(MatrixRowCol &)
void GetCol(MatrixRowCol &)
void GetRow(MatrixRowCol &)
void GetRow(MatrixRowCol &)
void NextRow(MatrixRowCol &)
void GetRow(MatrixRowCol &)
void GetRow(MatrixRowCol &)
void GetRow(MatrixRowCol &)
void NextRow(MatrixRowCol &)