summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/solver/nld_ms_gcr.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/netlist/solver/nld_ms_gcr.h')
-rw-r--r--src/lib/netlist/solver/nld_ms_gcr.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/lib/netlist/solver/nld_ms_gcr.h b/src/lib/netlist/solver/nld_ms_gcr.h
index 3de955627ee..fb5c675dd14 100644
--- a/src/lib/netlist/solver/nld_ms_gcr.h
+++ b/src/lib/netlist/solver/nld_ms_gcr.h
@@ -200,9 +200,11 @@ namespace solver
for (std::size_t i = 0; i < iN - 1; i++)
{
- const auto &nzbd = this->m_terms[i].m_nzbd;
+ //const auto &nzbd = this->m_terms[i].m_nzbd;
+ const auto *nzbd = mat.nzbd(i);
+ const auto nzbd_count = mat.nzbd_count(i);
- if (!nzbd.empty())
+ if (nzbd_count > 0)
{
std::size_t pi = mat.diag[i];
@@ -212,8 +214,9 @@ namespace solver
const std::size_t piie = mat.row_idx[i+1];
//for (auto & j : nzbd)
- for (std::size_t j : nzbd)
+ for (std::size_t jj = 0; jj < nzbd_count; jj++)
{
+ std::size_t j = nzbd[jj];
// proceed to column i
std::size_t pj = mat.row_idx[j];