summaryrefslogtreecommitdiffstats
path: root/src/lib/netlist/solver/nld_solver.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/netlist/solver/nld_solver.cpp')
-rw-r--r--src/lib/netlist/solver/nld_solver.cpp38
1 files changed, 19 insertions, 19 deletions
diff --git a/src/lib/netlist/solver/nld_solver.cpp b/src/lib/netlist/solver/nld_solver.cpp
index 09a43178e55..4993c2e06c0 100644
--- a/src/lib/netlist/solver/nld_solver.cpp
+++ b/src/lib/netlist/solver/nld_solver.cpp
@@ -34,7 +34,7 @@ namespace devices
NETLIB_RESET(solver)
{
- if (exec().use_stats())
+ if (exec().stats_enabled())
m_fb_step.set_delegate(NETLIB_DELEGATE(fb_step<true>));
for (auto &s : m_mat_solvers)
s->reset();
@@ -278,20 +278,20 @@ namespace devices
struct net_splitter
{
- void run(netlist_state_t &netlist)
+ void run(netlist_state_t &nlstate)
{
- for (auto & net : netlist.nets())
+ for (auto & net : nlstate.nets())
{
- netlist.log().verbose("processing {1}", net->name());
- if (!net->is_rail_net() && net->has_connections())
+ nlstate.log().verbose("processing {1}", net->name());
+ if (!net->is_rail_net() && !nlstate.core_terms(*net).empty())
{
- netlist.log().verbose(" ==> not a rail net");
+ nlstate.log().verbose(" ==> not a rail net");
// Must be an analog net
auto &n = dynamic_cast<analog_net_t &>(*net);
if (!already_processed(n))
{
groupspre.emplace_back(NETLIB_NAME(solver)::net_list_t());
- process_net(netlist, n);
+ process_net(nlstate, n);
}
}
}
@@ -344,30 +344,30 @@ namespace devices
}
// NOLINTNEXTLINE(misc-no-recursion)
- void process_net(netlist_state_t &netlist, analog_net_t &n)
+ void process_net(netlist_state_t &nlstate, analog_net_t &n)
{
// ignore empty nets. FIXME: print a warning message
- netlist.log().verbose("Net {}", n.name());
- if (n.has_connections())
+ nlstate.log().verbose("Net {}", n.name());
+ if (!nlstate.core_terms(n).empty())
{
// add the net
groupspre.back().push_back(&n);
// process all terminals connected to this net
- for (auto &term : n.core_terms())
+ for (auto &term : nlstate.core_terms(n))
{
- netlist.log().verbose("Term {} {}", term->name(), static_cast<int>(term->type()));
+ nlstate.log().verbose("Term {} {}", term->name(), static_cast<int>(term->type()));
// only process analog terminals
if (term->is_type(detail::terminal_type::TERMINAL))
{
auto &pt = dynamic_cast<terminal_t &>(*term);
// check the connected terminal
- auto connected_terminals = netlist.setup().get_connected_terminals(pt);
- for (auto ct = connected_terminals->begin(); *ct != nullptr; ct++)
+ const auto *const connected_terminals = nlstate.setup().get_connected_terminals(pt);
+ for (const auto *ct = connected_terminals->begin(); *ct != nullptr; ct++)
{
analog_net_t &connected_net = (*ct)->net();
- netlist.log().verbose(" Connected net {}", connected_net.name());
+ nlstate.log().verbose(" Connected net {}", connected_net.name());
if (!check_if_processed_and_join(connected_net))
- process_net(netlist, connected_net);
+ process_net(nlstate, connected_net);
}
}
}
@@ -407,7 +407,7 @@ namespace devices
state().log().error(ME_SOLVER_CONSISTENCY_RAIL_NET(n->name()));
num_errors++;
}
- for (const auto &t : n->core_terms())
+ for (const auto &t : state().core_terms(*n))
{
if (!t->has_net())
{
@@ -472,9 +472,9 @@ namespace devices
for (auto &n : grp)
{
log().verbose("Net {1}", n->name());
- for (const auto &pcore : n->core_terms())
+ for (const auto &t : state().core_terms(*n))
{
- log().verbose(" {1}", pcore->name());
+ log().verbose(" {1}", t->name());
}
}