diff options
author | couriersud <couriersud@arcor.de> | 2016-03-28 03:20:59 +0200 |
---|---|---|
committer | couriersud <couriersud@arcor.de> | 2016-03-28 13:48:27 +0200 |
commit | 8c69d3ad1562d79790bd48e3fe4521db304efceb (patch) | |
tree | d93a9cf6a6978e3a0f8ab5e1b30b55642247c034 /src/lib/netlist/solver/nld_solver.cpp | |
parent | 97b9fc11d63d578242713e1a2e94c538766febbe (diff) |
Fix crash in stat output when no calculations were run
Diffstat (limited to 'src/lib/netlist/solver/nld_solver.cpp')
-rw-r--r-- | src/lib/netlist/solver/nld_solver.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/lib/netlist/solver/nld_solver.cpp b/src/lib/netlist/solver/nld_solver.cpp index 56033623adf..388f21bda77 100644 --- a/src/lib/netlist/solver/nld_solver.cpp +++ b/src/lib/netlist/solver/nld_solver.cpp @@ -309,7 +309,7 @@ ATTR_COLD int matrix_solver_t::get_net_idx(net_t *net) void matrix_solver_t::log_stats() { - //if (this->m_stat_calculations != 0 && this->m_params.m_log_stats) + if (this->m_stat_calculations != 0 && this->m_stat_vsolver_calls && this->m_params.m_log_stats) { log().verbose("=============================================="); log().verbose("Solver {1}", this->name()); @@ -462,6 +462,12 @@ matrix_solver_t * NETLIB_NAME(solver)::create_solver(int size, const bool use_sp typedef matrix_solver_sm_t<m_N,_storage_N> solver_mat; return palloc(solver_mat(&m_params, size)); } + else if (pstring("SM").equals(m_iterative_solver)) + { + /* Sherman-Morrison Formula */ + typedef matrix_solver_sm_t<m_N,_storage_N> solver_mat; + return palloc(solver_mat(&m_params, size)); + } else if (pstring("SOR").equals(m_iterative_solver)) { typedef matrix_solver_SOR_t<m_N,_storage_N> solver_GS; |