Changeset 04e6eaf in tol
- Timestamp:
- Sep 19, 2012, 8:48:20 AM (14 years ago)
- Branches:
- 1941-docker-image-to-test, devel, master
- Children:
- 43cd166
- Parents:
- 45b1fd8
- File:
-
- 1 edited
-
tol/btol/vmatrix_type/vmatgra.cpp (modified) (12 diffs)
Legend:
- Unmodified
- Added
- Removed
-
tol/btol/vmatrix_type/vmatgra.cpp
r45b1fd8 r04e6eaf 320 320 { 321 321 BVMat& v = VMat(Arg(1)); 322 int nrow = (int)Real(Arg(2));323 int ncol = (int)Real(Arg(3));322 int nrow = max(0,(int)Real(Arg(2))); 323 int ncol = max(0,(int)Real(Arg(3))); 324 324 int row0 = (int)Real(Arg(4))-1; 325 325 int col0 = (int)Real(Arg(5))-1; … … 342 342 //-------------------------------------------------------------------- 343 343 { 344 int nrow = (int)Real(Arg(1));344 int nrow = max(0,(int)Real(Arg(1))); 345 345 BSet& items = Set(Arg(2)); 346 346 contens_.MergeRows(nrow, items); … … 562 562 { 563 563 BSyntaxObject* ijx_ = Arg(1); 564 int nrow = (int)Real(Arg(2));565 int ncol = (int)Real(Arg(3));564 int nrow = max(0,(int)Real(Arg(2))); 565 int ncol = max(0,(int)Real(Arg(3))); 566 566 BMatrix<double> ijx; 567 567 if(ijx_->Grammar()==GraMatrix()) … … 681 681 { 682 682 BMatrix<double>& ijx = (BMatrix<double>&)Mat(Arg(1)); 683 int nrow = (int)Real(Arg(2));684 int ncol = (int)Real(Arg(3));683 int nrow = max(0,(int)Real(Arg(2))); 684 int ncol = max(0,(int)Real(Arg(3))); 685 685 contens_.DMat2tripletUnique(ijx,nrow,ncol); 686 686 } … … 725 725 { 726 726 BPolyn<BDat>& pol = Pol(Arg(1)); 727 register int r = (BInt)Real(Arg(2));728 register int c = (BInt)Real(Arg(3));727 register int r = max(0,(BInt)Real(Arg(2))); 728 register int c = max(0,(BInt)Real(Arg(3))); 729 729 contens_.BPol2sparse(pol, r, c); 730 730 assert(contens_.Check()); … … 744 744 //-------------------------------------------------------------------- 745 745 { 746 int r = (BInt)Real(Arg(1));747 int c = (BInt)Real(Arg(2));746 int r = max(0,(BInt)Real(Arg(1))); 747 int c = max(0,(BInt)Real(Arg(2))); 748 748 double v = Real(Arg(3)); 749 749 contens_.BlasRDense(r,c, v); … … 765 765 //-------------------------------------------------------------------- 766 766 { 767 int nrow = (int)Real(Arg(1));767 int nrow = max(0,(int)Real(Arg(1))); 768 768 int ncol = nrow; 769 769 BVMat::ECode code = BVMat::ESC_chlmRsparse; 770 if(Arg(2)) { ncol = (int)Real(Arg(2)); }770 if(Arg(2)) { ncol = max(0,(int)Real(Arg(2))); } 771 771 if(Arg(3)) { code = BVMat::FindCodeName(Text(Arg(3))); } 772 772 contens_.Zeros(nrow,ncol,code); … … 796 796 //-------------------------------------------------------------------- 797 797 { 798 int nrow = (int)Real(Arg(1));798 int nrow = max(0,(int)Real(Arg(1))); 799 799 int ncol = nrow; 800 if(Arg(2)) { ncol= (int)Real(Arg(2)); }800 if(Arg(2)) { ncol=max(0,(int)Real(Arg(2))); } 801 801 if(!Arg(3)) 802 802 { … … 805 805 else 806 806 { 807 int diag = (int)Real(Arg(3));807 int diag = max(0,(int)Real(Arg(3))); 808 808 BSyntaxObject* x_ = Arg(4); 809 809 bool isReal = !x_; … … 2469 2469 //-------------------------------------------------------------------- 2470 2470 { 2471 int nrow = (int)Real(Arg(1));2472 int ncol = (int)Real(Arg(2));2471 int nrow = max(0,(int)Real(Arg(1))); 2472 int ncol = max(0,(int)Real(Arg(2))); 2473 2473 double min = Real(Arg(3)); 2474 2474 double max = Real(Arg(4)); … … 2501 2501 //-------------------------------------------------------------------- 2502 2502 { 2503 int nrow = (int)Real(Arg(1));2504 int ncol = (int)Real(Arg(2));2503 int nrow = max(0,(int)Real(Arg(1))); 2504 int ncol = max(0,(int)Real(Arg(2))); 2505 2505 double nu = Real(Arg(3)); 2506 2506 double sig = Real(Arg(4)); … … 2543 2543 int burn = 0; 2544 2544 double borderDistance = 0.001; 2545 if(Arg(4)) { ncol = (int)Real(Arg(4)); }2545 if(Arg(4)) { max(0,ncol = (int)Real(Arg(4))); } 2546 2546 if(Arg(5)) { burn = (int)Real(Arg(5)); } 2547 2547 if(Arg(6)) { burn = (int)Real(Arg(6)); }
Note: See TracChangeset
for help on using the changeset viewer.
