NESSi  v1.0.2
The NonEquilibrium Systems Simulation Library

◆ incr_timestep() [2/6]

template<typename T >
void cntr::herm_matrix_timestep_view< T >::incr_timestep ( herm_matrix_timestep_view< T > &  g,
alpha 
)

Increase the value of the herm_matrix_timestep_view for \(\alpha g(t) \).

Purpose

Increase the value of herm_matrix_timestep_view for a value of \(\alpha g(t)\), where \( g(t)\) is a herm_matrix_timestep_view and \(\alpha \) is a template argument If \(t>-1\) then ret,les,tv components are set, otherwise mat. Works for scalar or square-matrix contour objects.

Parameters
g

The template argument which is added

alpha

Constant template argument multiplication factor

Definition at line 1493 of file cntr_herm_matrix_timestep_view_impl.hpp.

1494  {
1495  assert(tstp_==g.tstp_ && ntau_ == g.ntau_ && size1_ == g.size1_ && size2_ == g.size2_);
1496 
1497  int i, len;
1498  CPLX *x, *x0;
1499  if (tstp_ == -1) {
1500  len = (ntau_ + 1) * element_size_;
1501  x0 = mat_;
1502  x = g.mat_;
1503  HERM_MATRIX_INCR_TSTP
1504  } else {
1505  len = (tstp_ + 1) * element_size_;
1506  x0 = ret_;
1507  x = g.ret_;
1508  HERM_MATRIX_INCR_TSTP
1509  x0 = les_;
1510  x = g.les_;
1511  HERM_MATRIX_INCR_TSTP
1512  len = (ntau_ + 1) * element_size_;
1513  x0 = tv_;
1514  x = g.tv_;
1515  HERM_MATRIX_INCR_TSTP
1516  }
1517 }