Macaulay2 Engine
Loading...
Searching...
No Matches

◆ addMultipleTo() [1/12]

template<typename RT>
void MatrixOps::addMultipleTo ( DMat< RT > & A,
MatrixWindow wA,
const typename RT::ElementType & c,
const DMat< RT > & B,
MatrixWindow wB )

Definition at line 344 of file mat-arith.hpp.

349{
350 assert(wA.sameSize(wB));
351 typename RT::Element tmp(A.ring());
352 long rA = wA.begin_row;
353 long rB = wB.begin_row;
354 for (; rA < wA.end_row; ++rA, ++rB)
355 {
356 long cA = wA.begin_column;
357 long cB = wB.begin_column;
358 for (; cA < wA.end_column; ++cA, ++cB)
359 {
360 A.ring().mult(tmp, c, B.entry(rB, cB));
361 auto& a = A.entry(rA, cA);
362 A.ring().add(a, a, tmp);
363 }
364 }
365}
ElementType & entry(size_t row, size_t column)
Definition dmat.hpp:148
const ACoeffRing & ring() const
Definition dmat.hpp:143
bool sameSize(const MatrixWindow &b) const
Definition mat-arith.hpp:73
long begin_column
Definition mat-arith.hpp:64

References MatrixWindow::begin_column, MatrixWindow::begin_row, MatrixWindow::end_column, MatrixWindow::end_row, DMat< ACoeffRing >::entry(), DMat< ACoeffRing >::ring(), and MatrixWindow::sameSize().