summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/netlist/analog/nld_solver.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/netlist/analog/nld_solver.h')
-rw-r--r--src/emu/netlist/analog/nld_solver.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/emu/netlist/analog/nld_solver.h b/src/emu/netlist/analog/nld_solver.h
index 62af5d9ef9e..1f4a1fb6c83 100644
--- a/src/emu/netlist/analog/nld_solver.h
+++ b/src/emu/netlist/analog/nld_solver.h
@@ -22,12 +22,16 @@
class NETLIB_NAME(solver);
+/* FIXME: these should become proper devices */
+
class netlist_matrix_solver_t
{
public:
typedef netlist_list_t<netlist_matrix_solver_t *> list_t;
typedef netlist_core_device_t::list_t dev_list_t;
+ netlist_matrix_solver_t() : m_resched(false) {}
+
ATTR_COLD void setup(netlist_net_t::list_t &nets, NETLIB_NAME(solver) &owner);
// return true if a reschedule is needed ...
@@ -50,8 +54,9 @@ private:
dev_list_t m_dynamic;
netlist_core_terminal_t::list_t m_inps;
dev_list_t m_steps;
+ bool m_resched;
- NETLIB_NAME(solver) *m_owner;
+ NETLIB_NAME(solver) *m_owner;
};
NETLIB_DEVICE_WITH_PARAMS(solver,
@@ -89,7 +94,6 @@ public:
ATTR_HOT inline void NETLIB_NAME(solver)::schedule()
{
- // FIXME: time should be parameter;
if (!m_Q_sync.net().is_queued())
m_Q_sync.net().push_to_queue(m_nt_sync_delay);
}