summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/solver/nld_ms_sm.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/netlist/solver/nld_ms_sm.h')
-rw-r--r--src/lib/netlist/solver/nld_ms_sm.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/lib/netlist/solver/nld_ms_sm.h b/src/lib/netlist/solver/nld_ms_sm.h
index 30ad2031628..83e309407f7 100644
--- a/src/lib/netlist/solver/nld_ms_sm.h
+++ b/src/lib/netlist/solver/nld_ms_sm.h
@@ -63,9 +63,7 @@ namespace solver
, m_dim(size)
, m_cnt(0)
{
- /* FIXME: Shouldn't be necessary */
- for (std::size_t k = 0; k < this->size(); k++)
- state().save(*this, RHS(k), this->name(), plib::pfmt("RHS.{1}")(k));
+ this->build_mat_ptr(this->size(), m_A);
}
void reset() override { matrix_solver_t::reset(); }
@@ -289,8 +287,10 @@ namespace solver
template <typename FT, int SIZE>
unsigned matrix_solver_sm_t<FT, SIZE>::vsolve_non_dynamic(const bool newton_raphson)
{
- this->build_LE_A(*this);
- this->build_LE_RHS(*this);
+
+ const std::size_t iN = this->size();
+ this->clear_square_mat(iN, this->m_A);
+ this->fill_matrix(iN, this->m_RHS);
this->m_stat_calculations++;
return this->solve_non_dynamic(newton_raphson);