comparison liboctave/numeric/eigs-base.cc @ 20265:e914b5399c67

Use in-place operators in C++ code where possible. * libgui/src/dialog.cc, libgui/src/m-editor/file-editor-tab.cc, libgui/src/main-window.cc, libinterp/corefcn/bsxfun.cc, libinterp/corefcn/filter.cc, libinterp/corefcn/mgorth.cc, libinterp/corefcn/oct-stream.cc, libinterp/corefcn/pr-output.cc, liboctave/array/Array-util.cc, liboctave/array/dim-vector.h, liboctave/numeric/CollocWt.cc, liboctave/numeric/eigs-base.cc, liboctave/numeric/lo-specfun.cc: Use in-place operators in C++ code where possible.
author Rik <rik@octave.org>
date Mon, 25 May 2015 22:02:15 -0700
parents 17d647821d61
children a9574e3c6e9e
comparison
equal deleted inserted replaced
20264:5dfaaaae784f 20265:e914b5399c67
455 static_cast<octave_idx_type>(permB(i)); 455 static_cast<octave_idx_type>(permB(i));
456 tmp.xdata (i) = 1; 456 tmp.xdata (i) = 1;
457 } 457 }
458 tmp.xcidx (n) = n; 458 tmp.xcidx (n) = n;
459 459
460 AminusSigmaB = AminusSigmaB - sigma * tmp * 460 AminusSigmaB -= sigma * tmp *
461 b.transpose () * b * tmp.transpose (); 461 b.transpose () * b * tmp.transpose ();
462 } 462 }
463 else 463 else
464 AminusSigmaB = AminusSigmaB - sigma * 464 AminusSigmaB -= sigma * b.transpose () * b;
465 b.transpose () * b;
466 } 465 }
467 else 466 else
468 AminusSigmaB = AminusSigmaB - sigma * b; 467 AminusSigmaB -= sigma * b;
469 } 468 }
470 else 469 else
471 { 470 {
472 SparseMatrix sigmat (n, n, n); 471 SparseMatrix sigmat (n, n, n);
473 472
478 sigmat.xdata (i) = sigma; 477 sigmat.xdata (i) = sigma;
479 sigmat.xridx (i) = i; 478 sigmat.xridx (i) = i;
480 sigmat.xcidx (i+1) = i + 1; 479 sigmat.xcidx (i+1) = i + 1;
481 } 480 }
482 481
483 AminusSigmaB = AminusSigmaB - sigmat; 482 AminusSigmaB -= sigmat;
484 } 483 }
485 484
486 SparseLU fact (AminusSigmaB); 485 SparseLU fact (AminusSigmaB);
487 486
488 L = fact.L (); 487 L = fact.L ();
550 i < b.rows (); i++) 549 i < b.rows (); i++)
551 *p++ -= tmp.xelem (static_cast<octave_idx_type>(pB[i]), 550 *p++ -= tmp.xelem (static_cast<octave_idx_type>(pB[i]),
552 static_cast<octave_idx_type>(pB[j])); 551 static_cast<octave_idx_type>(pB[j]));
553 } 552 }
554 else 553 else
555 AminusSigmaB = AminusSigmaB - tmp; 554 AminusSigmaB -= tmp;
556 } 555 }
557 else 556 else
558 AminusSigmaB = AminusSigmaB - sigma * b; 557 AminusSigmaB -= sigma * b;
559 } 558 }
560 else 559 else
561 { 560 {
562 double *p = AminusSigmaB.fortran_vec (); 561 double *p = AminusSigmaB.fortran_vec ();
563 562
620 static_cast<octave_idx_type>(permB(i)); 619 static_cast<octave_idx_type>(permB(i));
621 tmp.xdata (i) = 1; 620 tmp.xdata (i) = 1;
622 } 621 }
623 tmp.xcidx (n) = n; 622 tmp.xcidx (n) = n;
624 623
625 AminusSigmaB = AminusSigmaB - tmp * b.hermitian () * b * 624 AminusSigmaB -= tmp * b.hermitian () * b *
626 tmp.transpose () * sigma; 625 tmp.transpose () * sigma;
627 } 626 }
628 else 627 else
629 AminusSigmaB = AminusSigmaB - sigma * b.hermitian () * b; 628 AminusSigmaB -= sigma * b.hermitian () * b;
630 } 629 }
631 else 630 else
632 AminusSigmaB = AminusSigmaB - sigma * b; 631 AminusSigmaB -= sigma * b;
633 } 632 }
634 else 633 else
635 { 634 {
636 SparseComplexMatrix sigmat (n, n, n); 635 SparseComplexMatrix sigmat (n, n, n);
637 636
642 sigmat.xdata (i) = sigma; 641 sigmat.xdata (i) = sigma;
643 sigmat.xridx (i) = i; 642 sigmat.xridx (i) = i;
644 sigmat.xcidx (i+1) = i + 1; 643 sigmat.xcidx (i+1) = i + 1;
645 } 644 }
646 645
647 AminusSigmaB = AminusSigmaB - sigmat; 646 AminusSigmaB -= sigmat;
648 } 647 }
649 648
650 SparseComplexLU fact (AminusSigmaB); 649 SparseComplexLU fact (AminusSigmaB);
651 650
652 L = fact.L (); 651 L = fact.L ();
714 i < b.rows (); i++) 713 i < b.rows (); i++)
715 *p++ -= tmp.xelem (static_cast<octave_idx_type>(pB[i]), 714 *p++ -= tmp.xelem (static_cast<octave_idx_type>(pB[i]),
716 static_cast<octave_idx_type>(pB[j])); 715 static_cast<octave_idx_type>(pB[j]));
717 } 716 }
718 else 717 else
719 AminusSigmaB = AminusSigmaB - tmp; 718 AminusSigmaB -= tmp;
720 } 719 }
721 else 720 else
722 AminusSigmaB = AminusSigmaB - sigma * b; 721 AminusSigmaB -= sigma * b;
723 } 722 }
724 else 723 else
725 { 724 {
726 Complex *p = AminusSigmaB.fortran_vec (); 725 Complex *p = AminusSigmaB.fortran_vec ();
727 726