Changeset aedae2f in tol
- Timestamp:
- Dec 15, 2009, 9:33:54 AM (17 years ago)
- Branches:
- 1941-docker-image-to-test, devel, master
- Children:
- e213da6
- Parents:
- ca98181
- Location:
- tol/btol
- Files:
-
- 4 edited
-
matrix_type/matgra.cpp (modified) (5 diffs)
-
vmatrix_type/tol_bvmat.h (modified) (1 diff)
-
vmatrix_type/vmat.cpp (modified) (1 diff)
-
vmatrix_type/vmatgra.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
tol/btol/matrix_type/matgra.cpp
rca98181 raedae2f 92 92 { 93 93 BTraceInit("BGraContens<BMat>::InitInstances"); 94 BArray<BDat> cell(BDat::Unknown(), 1); 95 BArray< BArray<BDat> > mat(cell, 1); 94 BMatrix<BDat> mat; 96 95 97 96 BSystemMat* unknown_ = new BSystemMat 98 (97 ( 99 98 "UnknownMatrix", 100 BMat(1, 1, mat),99 mat, 101 100 I2("The unknown matrix.", "La matriz desconocida.") 102 );101 ); 103 102 OwnGrammar()->PutDefect(unknown_); 104 103 } … … 2565 2564 2566 2565 2566 //-------------------------------------------------------------------- 2567 DeclareContensClass(BMat, BMatTemporary, BMatZeros); 2568 DefExtOpr(1, BMatZeros, "Zeros", 1, 2, 2569 "Real Real", 2570 "(Real nrow [, Real ncol=nrow])", 2571 I2("Creates a matrix with all elements equal to zero.", 2572 "Devuelve una matriz cuyas celdas son todas cero."), 2573 BOperClassify::MatrixAlgebra_); 2574 //-------------------------------------------------------------------- 2575 void BMatZeros::CalcContens() 2576 //-------------------------------------------------------------------- 2577 { 2578 int r = (BInt)Real(Arg(1)); 2579 int c = r; 2580 if(Arg(2)) { c = (BInt)Real(Arg(2)); } 2581 contens_.Alloc(r,c); 2582 int k, s= contens_.Data().Size(); 2583 double* x=(double*)contens_.GetData().GetBuffer(); 2584 for(k=0; k<s; k++,x++) 2585 { 2586 *x = 0; 2587 } 2588 } 2589 2590 //-------------------------------------------------------------------- 2591 DeclareContensClass(BMat, BMatTemporary, BMatConstant); 2592 DefExtOpr(1, BMatConstant, "Constant", 3, 3, 2593 "Real Real Real", 2594 "(Real nrow, Real ncol, Real value])", 2595 I2("Creates a matrix with all elements equal to given value.", 2596 "Devuelve una matriz cuyas celdas son todas iguales al valor " 2597 "especificado."), 2598 BOperClassify::MatrixAlgebra_); 2599 //-------------------------------------------------------------------- 2600 void BMatConstant::CalcContens() 2601 //-------------------------------------------------------------------- 2602 { 2603 int r = (BInt)Real(Arg(1)); 2604 int c = (BInt)Real(Arg(2)); 2605 double v = Real(Arg(3)); 2606 contens_.Alloc(r,c); 2607 int k, s= contens_.Data().Size(); 2608 double* x=(double*)contens_.GetData().GetBuffer(); 2609 for(k=0; k<s; k++, x++) 2610 { 2611 *x = v; 2612 } 2613 } 2567 2614 2568 2615 //-------------------------------------------------------------------- … … 3459 3506 register bool ok = true; 3460 3507 3508 contens_.Alloc(r,c); 3461 3509 if(r*c<=0) { return; } 3462 contens_.Alloc(r,c);3463 3510 if(contens_.Rows()!=r) { return; } 3464 3511 register const double* x0 = M.Data().Buffer(); … … 3511 3558 register bool ok = true; 3512 3559 3560 contens_.Alloc(r,c); 3513 3561 if(r*c<=0) { return; } 3514 contens_.Alloc(r,c);3515 3562 register const double* x0 = M.Data().Buffer(); 3516 3563 register const double* x; … … 3571 3618 BBool ok = BTRUE; 3572 3619 3620 contens_.Alloc(r,c); 3573 3621 if(r*c<=0) { return; } 3574 contens_.Alloc(r,c);3575 3622 if(contens_.Rows()!=r) { return; } 3576 3623 for(j=0; ok && j<c; j++) -
tol/btol/vmatrix_type/tol_bvmat.h
rca98181 raedae2f 272 272 void Copy (const BVMat& v); 273 273 void BlasRDense (int nrow, int ncol); 274 void BlasRDense (int nrow, int ncol, double value); 274 275 void ChlmRSparse (int nrow, int ncol, int nzmax); 275 276 void ChlmRTriplet(int nrow, int ncol, int nzmax); -
tol/btol/vmatrix_type/vmat.cpp
rca98181 raedae2f 471 471 } 472 472 473 //////////////////////////////////////////////////////////////////////////////// 474 void BVMat::BlasRDense(int nrow, int ncol, double value) 475 //////////////////////////////////////////////////////////////////////////////// 476 { 477 BlasRDense(nrow, ncol); 478 double* x = (double*)s_.blasRdense_->x; 479 if(x) 480 { 481 int s = nrow*ncol; 482 int k; 483 for(k=0; k<s; k++, x++) 484 { 485 *x = value; 486 } 487 } 488 } 489 473 490 //////////////////////////////////////////////////////////////////////////////// 474 491 void BVMat::ChlmRSparse(int nrow, int ncol, int nzmax) -
tol/btol/vmatrix_type/vmatgra.cpp
rca98181 raedae2f 717 717 } 718 718 719 //-------------------------------------------------------------------- 720 DeclareContensClass(BVMat, BVMatTemporary, BVMatConstant); 721 DefExtOpr(1, BVMatConstant, "Constant", 3, 3, 722 "Real Real Real", 723 "(Real nrow, Real ncol, Real value])", 724 I2("Creates a dense matrix with all elements equal to given value.", 725 "Devuelve una matriz densa cuyas celdas son todas iguales al " 726 "valor especificado."), 727 BOperClassify::MatrixAlgebra_); 728 //-------------------------------------------------------------------- 729 void BVMatConstant::CalcContens() 730 //-------------------------------------------------------------------- 731 { 732 int r = (BInt)Real(Arg(1)); 733 int c = (BInt)Real(Arg(2)); 734 double v = Real(Arg(3)); 735 contens_.BlasRDense(r,c, v); 736 } 719 737 720 738 //--------------------------------------------------------------------
Note: See TracChangeset
for help on using the changeset viewer.
