No need for a virtual stop which is needed only by the solver. (nw)

This commit is contained in:
couriersud 2017-01-08 16:13:53 +01:00
parent 1950ff149a
commit f425f2b997
4 changed files with 4 additions and 19 deletions

View File

@ -324,11 +324,8 @@ void netlist_t::start()
void netlist_t::stop()
{
/* find the main clock and solver ... */
log().debug("Stopping all devices ...\n");
for (auto & dev : m_devices)
dev->stop_dev();
log().debug("Stopping solver device ...\n");
m_solver->stop();
}
detail::net_t *netlist_t::find_net(const pstring &name)
@ -545,14 +542,6 @@ void core_device_t::set_delegate_pointer()
#endif
}
void core_device_t::stop_dev()
{
//NOTE: stop_dev is not removed. It remains so it can be reactivated in case
// we run into a situation were RAII and noexcept dtors force us to
// to have a device stop() routine which may throw.
stop();
}
// ----------------------------------------------------------------------------------------
// device_t
// ----------------------------------------------------------------------------------------

View File

@ -139,8 +139,6 @@ class NETLIB_NAME(name) : public device_t
#define NETLIB_RESET(chip) void NETLIB_NAME(chip) :: reset(void)
#define NETLIB_STOP(chip) void NETLIB_NAME(chip) :: stop(void)
#define NETLIB_UPDATE_PARAM(chip) void NETLIB_NAME(chip) :: update_param(void)
#define NETLIB_FUNC_VOID(chip, name, params) void NETLIB_NAME(chip) :: name params
@ -1019,7 +1017,6 @@ namespace netlist
}
void set_delegate_pointer();
void stop_dev();
void do_inc_active() NL_NOEXCEPT
{
@ -1048,7 +1045,6 @@ namespace netlist
virtual void update() NL_NOEXCEPT { }
virtual void inc_active() NL_NOEXCEPT { }
virtual void dec_active() NL_NOEXCEPT { }
virtual void stop() { }
virtual void reset() { }
public:

View File

@ -72,7 +72,7 @@ NETLIB_RESET(solver)
m_mat_solvers[i]->do_reset();
}
NETLIB_STOP(solver)
void NETLIB_NAME(solver)::stop()
{
for (std::size_t i = 0; i < m_mat_solvers.size(); i++)
m_mat_solvers[i]->log_stats();

View File

@ -72,7 +72,7 @@ NETLIB_OBJECT(solver)
virtual ~NETLIB_NAME(solver)();
void post_start();
void stop() override;
void stop();
inline nl_double gmin() { return m_gmin(); }