summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/nl_base.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/netlist/nl_base.h')
-rw-r--r--src/lib/netlist/nl_base.h15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/lib/netlist/nl_base.h b/src/lib/netlist/nl_base.h
index ac4a4001dfa..e56a10b9e20 100644
--- a/src/lib/netlist/nl_base.h
+++ b/src/lib/netlist/nl_base.h
@@ -547,16 +547,12 @@ namespace netlist
void set(const nl_double G)
{
- set_ptr(m_Idr1, 0);
- set_ptr(m_go1, G);
- set_ptr(m_gt1, G);
+ set(G,G, 0.0);
}
void set(const nl_double GO, const nl_double GT)
{
- set_ptr(m_Idr1, 0);
- set_ptr(m_go1, GO);
- set_ptr(m_gt1, GT);
+ set(GO, GT, 0.0);
}
void set(const nl_double GO, const nl_double GT, const nl_double I)
@@ -735,13 +731,13 @@ namespace netlist
state_var_s32 m_active;
state_var_u8 m_in_queue; /* 0: not in queue, 1: in queue, 2: last was taken */
+ state_var<nl_double> m_cur_Analog;
+
private:
plib::linkedlist_t<core_terminal_t> m_list_active;
core_terminal_t * m_railterminal;
public:
- // FIXME: Have to fix the public at some time
- state_var<nl_double> m_cur_Analog;
};
@@ -796,6 +792,7 @@ namespace netlist
virtual ~analog_net_t();
nl_double Q_Analog() const { return m_cur_Analog; }
+ void set_Q_Analog(const nl_double &v) { m_cur_Analog = v; }
nl_double *Q_Analog_state_ptr() { return m_cur_Analog.ptr(); }
//FIXME: needed by current solver code
@@ -1450,7 +1447,7 @@ namespace netlist
{
if (newQ != m_my_net.Q_Analog())
{
- m_my_net.m_cur_Analog = newQ;
+ m_my_net.set_Q_Analog(newQ);
m_my_net.toggle_new_Q();
m_my_net.push_to_queue(NLTIME_FROM_NS(1));
}