netlist override update (nw)

This commit is contained in:
Miodrag Milanovic 2015-12-06 15:15:36 +01:00
parent a70def4121
commit e6e4a057ec
26 changed files with 184 additions and 184 deletions

View File

@ -47,9 +47,9 @@ public:
inline bool is_qtype(q_type atype) const { return m_qtype == atype; } inline bool is_qtype(q_type atype) const { return m_qtype == atype; }
inline void set_qtype(q_type atype) { m_qtype = atype; } inline void set_qtype(q_type atype) { m_qtype = atype; }
protected: protected:
virtual void start(); virtual void start() override;
virtual void reset(); virtual void reset() override;
ATTR_HOT void update(); ATTR_HOT void update() override;
param_model_t m_model; param_model_t m_model;
private: private:
@ -102,7 +102,7 @@ public:
m_gB(NETLIST_GMIN_DEFAULT), m_gC(NETLIST_GMIN_DEFAULT), m_V(0.0), m_state_on(0) { } m_gB(NETLIST_GMIN_DEFAULT), m_gC(NETLIST_GMIN_DEFAULT), m_V(0.0), m_state_on(0) { }
ATTR_HOT void virtual update(); ATTR_HOT void virtual update() override;
nld_twoterm m_RB; nld_twoterm m_RB;
nld_twoterm m_RC; nld_twoterm m_RC;
@ -113,9 +113,9 @@ public:
protected: protected:
virtual void start(); virtual void start() override;
ATTR_HOT virtual void update_param(); ATTR_HOT virtual void update_param() override;
virtual void reset(); virtual void reset() override;
NETLIB_UPDATE_TERMINALSI(); NETLIB_UPDATE_TERMINALSI();
nl_double m_gB; // base conductance / switch on nl_double m_gB; // base conductance / switch on
@ -145,10 +145,10 @@ public:
protected: protected:
virtual void start(); virtual void start() override;
virtual void reset(); virtual void reset() override;
ATTR_HOT void update_param(); ATTR_HOT void update_param() override;
ATTR_HOT void virtual update(); ATTR_HOT void virtual update() override;
NETLIB_UPDATE_TERMINALSI(); NETLIB_UPDATE_TERMINALSI();
generic_diode m_gD_BC; generic_diode m_gD_BC;

View File

@ -63,10 +63,10 @@ public:
param_double_t m_RI; param_double_t m_RI;
protected: protected:
virtual void start(); virtual void start() override;
virtual void reset(); virtual void reset() override;
virtual void update_param(); virtual void update_param() override;
ATTR_HOT virtual void update(); ATTR_HOT virtual void update() override;
ATTR_COLD void start_internal(const nl_double def_RI); ATTR_COLD void start_internal(const nl_double def_RI);
@ -95,10 +95,10 @@ public:
param_double_t m_cur_limit; /* current limit */ param_double_t m_cur_limit; /* current limit */
protected: protected:
virtual void start(); virtual void start() override;
virtual void reset(); virtual void reset() override;
virtual void update_param(); virtual void update_param() override;
ATTR_HOT virtual void update(); ATTR_HOT virtual void update() override;
NETLIB_UPDATE_TERMINALSI(); NETLIB_UPDATE_TERMINALSI();
nl_double m_vi; nl_double m_vi;
@ -134,10 +134,10 @@ public:
: NETLIB_NAME(VCCS)(CCCS), m_gfac(1.0) { } : NETLIB_NAME(VCCS)(CCCS), m_gfac(1.0) { }
protected: protected:
virtual void start(); virtual void start() override;
virtual void reset(); virtual void reset() override;
virtual void update_param(); virtual void update_param() override;
ATTR_HOT void update(); ATTR_HOT void update() override;
nl_double m_gfac; nl_double m_gfac;
}; };
@ -180,9 +180,9 @@ public:
param_double_t m_RO; param_double_t m_RO;
protected: protected:
virtual void start(); virtual void start() override;
virtual void reset(); virtual void reset() override;
virtual void update_param(); virtual void update_param() override;
//ATTR_HOT void update(); //ATTR_HOT void update();
terminal_t m_OP2; terminal_t m_OP2;

View File

@ -133,9 +133,9 @@ public:
} }
protected: protected:
virtual void start(); virtual void start() override;
virtual void reset(); virtual void reset() override;
ATTR_HOT void update(); ATTR_HOT void update() override;
private: private:
}; };
@ -155,9 +155,9 @@ public:
} }
protected: protected:
virtual void start(); virtual void start() override;
virtual void reset(); virtual void reset() override;
ATTR_HOT void update(); ATTR_HOT void update() override;
}; };
NETLIB_DEVICE_WITH_PARAMS_DERIVED(R, R_base, NETLIB_DEVICE_WITH_PARAMS_DERIVED(R, R_base,
@ -196,15 +196,15 @@ class NETLIB_NAME(C) : public NETLIB_NAME(twoterm)
public: public:
ATTR_COLD NETLIB_NAME(C)() : NETLIB_NAME(twoterm)(CAPACITOR), m_GParallel(0.0) { } ATTR_COLD NETLIB_NAME(C)() : NETLIB_NAME(twoterm)(CAPACITOR), m_GParallel(0.0) { }
ATTR_HOT void step_time(const nl_double st); ATTR_HOT void step_time(const nl_double st) override;
param_double_t m_C; param_double_t m_C;
protected: protected:
virtual void start(); virtual void start() override;
virtual void reset(); virtual void reset() override;
virtual void update_param(); virtual void update_param() override;
ATTR_HOT void update(); ATTR_HOT void update() override;
private: private:
nl_double m_GParallel; nl_double m_GParallel;
@ -298,9 +298,9 @@ public:
param_model_t m_model; param_model_t m_model;
protected: protected:
virtual void start(); virtual void start() override;
virtual void update_param(); virtual void update_param() override;
ATTR_HOT void update(); ATTR_HOT void update() override;
generic_diode m_D; generic_diode m_D;
}; };
@ -317,9 +317,9 @@ public:
ATTR_COLD NETLIB_NAME(VS)() : NETLIB_NAME(twoterm)(VS) { } ATTR_COLD NETLIB_NAME(VS)() : NETLIB_NAME(twoterm)(VS) { }
protected: protected:
virtual void start(); virtual void start() override;
virtual void reset(); virtual void reset() override;
ATTR_HOT void update(); ATTR_HOT void update() override;
param_double_t m_R; param_double_t m_R;
param_double_t m_V; param_double_t m_V;
@ -335,9 +335,9 @@ public:
ATTR_COLD NETLIB_NAME(CS)() : NETLIB_NAME(twoterm)(CS) { } ATTR_COLD NETLIB_NAME(CS)() : NETLIB_NAME(twoterm)(CS) { }
protected: protected:
virtual void start(); virtual void start() override;
virtual void reset(); virtual void reset() override;
ATTR_HOT void update(); ATTR_HOT void update() override;
param_double_t m_I; param_double_t m_I;
}; };

View File

@ -24,13 +24,13 @@ class nld_vdd_vss : public device_t
analog_input_t m_vss; analog_input_t m_vss;
protected: protected:
ATTR_HOT void update() {}; ATTR_HOT void update() override {};
ATTR_HOT void start() ATTR_HOT void start() override
{ {
register_input("VDD", m_vdd); register_input("VDD", m_vdd);
register_input("VSS", m_vss); register_input("VSS", m_vss);
}; };
ATTR_HOT void reset() {}; ATTR_HOT void reset() override {};
public: public:
ATTR_HOT inline nl_double vdd() { return INPANALOG(m_vdd); } ATTR_HOT inline nl_double vdd() { return INPANALOG(m_vdd); }

View File

@ -37,7 +37,7 @@ public:
{ {
} }
void start() void start() override
{ {
const char *sIN[8] = { "A", "B", "C", "D", "E", "F", "G", "H" }; const char *sIN[8] = { "A", "B", "C", "D", "E", "F", "G", "H" };
@ -49,7 +49,7 @@ public:
save(NLNAME(m_active)); save(NLNAME(m_active));
} }
void reset() void reset() override
{ {
m_Q[0].initial(0); m_Q[0].initial(0);
m_active = 1; m_active = 1;
@ -72,7 +72,7 @@ public:
return _check ^ _invert; return _check ^ _invert;
} }
ATTR_HOT virtual void inc_active() ATTR_HOT virtual void inc_active() override
{ {
const netlist_time times[2] = { NLTIME_FROM_NS(15), NLTIME_FROM_NS(22)}; const netlist_time times[2] = { NLTIME_FROM_NS(15), NLTIME_FROM_NS(22)};
nl_assert(netlist().use_deactivate()); nl_assert(netlist().use_deactivate());
@ -90,7 +90,7 @@ public:
} }
} }
ATTR_HOT virtual void dec_active() ATTR_HOT virtual void dec_active() override
{ {
nl_assert(netlist().use_deactivate()); nl_assert(netlist().use_deactivate());
if (--m_active == 0) if (--m_active == 0)
@ -100,7 +100,7 @@ public:
} }
} }
virtual void update() virtual void update() override
{ {
const netlist_time times[2] = { NLTIME_FROM_NS(15), NLTIME_FROM_NS(22)}; const netlist_time times[2] = { NLTIME_FROM_NS(15), NLTIME_FROM_NS(22)};

View File

@ -136,7 +136,7 @@ NETLIB_DEVICE_WITH_PARAMS(extclock,
NETLIB_DEVICE_WITH_PARAMS(logic_input, NETLIB_DEVICE_WITH_PARAMS(logic_input,
virtual void stop(); virtual void stop() override;
logic_output_t m_Q; logic_output_t m_Q;
param_logic_t m_IN; param_logic_t m_IN;
@ -163,16 +163,16 @@ public:
protected: protected:
void start() void start() override
{ {
register_output("Q", m_Q); register_output("Q", m_Q);
} }
void reset() void reset() override
{ {
} }
void update() void update() override
{ {
OUTANALOG(m_Q, 0.0); OUTANALOG(m_Q, 0.0);
} }
@ -196,16 +196,16 @@ public:
protected: protected:
void start() void start() override
{ {
register_input("I", m_I); register_input("I", m_I);
} }
void reset() void reset() override
{ {
} }
void update() void update() override
{ {
} }
@ -228,7 +228,7 @@ public:
protected: protected:
void start() void start() override
{ {
register_param("RIN", m_p_RIN, 1.0e6); register_param("RIN", m_p_RIN, 1.0e6);
register_param("ROUT", m_p_ROUT, 50.0); register_param("ROUT", m_p_ROUT, 50.0);
@ -244,13 +244,13 @@ protected:
connect_late(m_Q, m_ROUT.m_P); connect_late(m_Q, m_ROUT.m_P);
} }
void reset() void reset() override
{ {
m_RIN.set(1.0 / m_p_RIN.Value(),0,0); m_RIN.set(1.0 / m_p_RIN.Value(),0,0);
m_ROUT.set(1.0 / m_p_ROUT.Value(),0,0); m_ROUT.set(1.0 / m_p_ROUT.Value(),0,0);
} }
void update() void update() override
{ {
OUTANALOG(m_Q, INPANALOG(m_I)); OUTANALOG(m_Q, INPANALOG(m_I));
} }
@ -281,9 +281,9 @@ public:
protected: protected:
void start(); void start() override;
void reset(); void reset() override;
void update(); void update() override;
private: private:
@ -331,10 +331,10 @@ public:
protected: protected:
void start(); void start() override;
void reset(); void reset() override;
ATTR_HOT void update(); ATTR_HOT void update() override;
ATTR_HOT void update_param(); ATTR_HOT void update_param() override;
private: private:
UINT8 m_last_state; UINT8 m_last_state;
@ -391,17 +391,17 @@ public:
logic_output_t m_Q; logic_output_t m_Q;
protected: protected:
void start() void start() override
{ {
register_input("I", m_I); register_input("I", m_I);
register_output("Q", m_Q); register_output("Q", m_Q);
} }
void reset() void reset() override
{ {
} }
ATTR_HOT void update() ATTR_HOT void update() override
{ {
if (m_I.Q_Analog() > logic_family().m_high_thresh_V) if (m_I.Q_Analog() > logic_family().m_high_thresh_V)
OUTLOGIC(m_Q, 1, NLTIME_FROM_NS(1)); OUTLOGIC(m_Q, 1, NLTIME_FROM_NS(1));
@ -432,7 +432,7 @@ protected:
{ {
} }
virtual void start() virtual void start() override
{ {
register_input("I", m_I); register_input("I", m_I);
} }
@ -456,11 +456,11 @@ public:
virtual ~nld_d_to_a_proxy() {} virtual ~nld_d_to_a_proxy() {}
protected: protected:
virtual void start(); virtual void start() override;
virtual void reset(); virtual void reset() override;
ATTR_HOT void update(); ATTR_HOT void update() override;
private: private:
analog_output_t m_Q; analog_output_t m_Q;
@ -484,20 +484,20 @@ public:
public: public:
dummy(const pstring &dev_name) : device_t(), m_dev_name(dev_name) { } dummy(const pstring &dev_name) : device_t(), m_dev_name(dev_name) { }
protected: protected:
virtual void init(netlist_t &anetlist, const pstring &aname) virtual void init(netlist_t &anetlist, const pstring &aname) override
{ {
anetlist.setup().namespace_push(aname); anetlist.setup().namespace_push(aname);
anetlist.setup().include(m_dev_name); anetlist.setup().include(m_dev_name);
anetlist.setup().namespace_pop(); anetlist.setup().namespace_pop();
} }
void start() { } void start() override { }
void reset() { } void reset() override { }
void update() { } void update() override { }
pstring m_dev_name; pstring m_dev_name;
}; };
ATTR_COLD device_t *Create() ATTR_COLD device_t *Create() override
{ {
device_t *r = palloc(dummy(this->name())); device_t *r = palloc(dummy(this->name()));
return r; return r;

View File

@ -126,7 +126,7 @@ public:
m_desc = desc; m_desc = desc;
} }
virtual void start() virtual void start() override
{ {
pstring header = m_desc[0]; pstring header = m_desc[0];
@ -181,7 +181,7 @@ public:
save(NLNAME(m_active)); save(NLNAME(m_active));
} }
void reset() void reset() override
{ {
m_active = 0; m_active = 0;
m_ign = 0; m_ign = 0;
@ -242,12 +242,12 @@ public:
} }
} }
ATTR_HOT void update() ATTR_HOT void update() override
{ {
process<true>(); process<true>();
} }
ATTR_HOT void inc_active() ATTR_HOT void inc_active() override
{ {
nl_assert(netlist().use_deactivate()); nl_assert(netlist().use_deactivate());
if (has_state == 0) if (has_state == 0)
@ -257,7 +257,7 @@ public:
} }
} }
ATTR_HOT void dec_active() ATTR_HOT void dec_active() override
{ {
nl_assert(netlist().use_deactivate()); nl_assert(netlist().use_deactivate());
/* FIXME: /* FIXME:
@ -321,7 +321,7 @@ public:
const pstring &def_param) const pstring &def_param)
: netlist_base_factory_truthtable_t(name, classname, def_param) { } : netlist_base_factory_truthtable_t(name, classname, def_param) { }
device_t *Create() device_t *Create() override
{ {
typedef nld_truthtable_t<m_NI, m_NO, has_state> tt_type; typedef nld_truthtable_t<m_NI, m_NO, has_state> tt_type;
device_t *r = palloc(tt_type(&m_ttbl, m_desc)); device_t *r = palloc(tt_type(&m_ttbl, m_desc));

View File

@ -37,7 +37,7 @@ public:
m_R_high = 130.0; m_R_high = 130.0;
m_is_static = true; m_is_static = true;
} }
virtual devices::nld_base_d_to_a_proxy *create_d_a_proxy(logic_output_t *proxied) const virtual devices::nld_base_d_to_a_proxy *create_d_a_proxy(logic_output_t *proxied) const override
{ {
return palloc(devices::nld_d_to_a_proxy(proxied)); return palloc(devices::nld_d_to_a_proxy(proxied));
} }
@ -58,7 +58,7 @@ public:
m_R_high = 10.0; m_R_high = 10.0;
m_is_static = true; m_is_static = true;
} }
virtual devices::nld_base_d_to_a_proxy *create_d_a_proxy(logic_output_t *proxied) const virtual devices::nld_base_d_to_a_proxy *create_d_a_proxy(logic_output_t *proxied) const override
{ {
return palloc(devices::nld_d_to_a_proxy(proxied)); return palloc(devices::nld_d_to_a_proxy(proxied));
} }

View File

@ -190,7 +190,7 @@ typedef UINT8 netlist_sig_t;
#define NETLIB_FUNC_VOID(_chip, _name, _params) ATTR_HOT void NETLIB_NAME(_chip) :: _name _params #define NETLIB_FUNC_VOID(_chip, _name, _params) ATTR_HOT void NETLIB_NAME(_chip) :: _name _params
#define NETLIB_UPDATE_TERMINALS(_chip) ATTR_HOT void NETLIB_NAME(_chip) :: update_terminals(void) #define NETLIB_UPDATE_TERMINALS(_chip) ATTR_HOT void NETLIB_NAME(_chip) :: update_terminals(void)
#define NETLIB_UPDATE_TERMINALSI() ATTR_HOT void update_terminals(void) #define NETLIB_UPDATE_TERMINALSI() ATTR_HOT void update_terminals(void) override
#define NETLIB_UPDATEI() ATTR_HOT void update(void) #define NETLIB_UPDATEI() ATTR_HOT void update(void)
#define NETLIB_DEVICE_BASE(_name, _pclass, _extra, _priv) \ #define NETLIB_DEVICE_BASE(_name, _pclass, _extra, _priv) \
@ -201,9 +201,9 @@ typedef UINT8 netlist_sig_t;
: _pclass() { } \ : _pclass() { } \
protected: \ protected: \
_extra \ _extra \
ATTR_HOT void update(); \ ATTR_HOT void update() override; \
ATTR_HOT void start(); \ ATTR_HOT void start() override; \
ATTR_HOT void reset(); \ ATTR_HOT void reset() override; \
_priv \ _priv \
} }
@ -224,25 +224,25 @@ typedef UINT8 netlist_sig_t;
: device_t() \ : device_t() \
{ } \ { } \
/*protected:*/ \ /*protected:*/ \
ATTR_HOT void update(); \ ATTR_HOT void update() override; \
ATTR_HOT void start(); \ ATTR_HOT void start() override; \
ATTR_HOT void reset(); \ ATTR_HOT void reset() override; \
public: \ public: \
_priv \ _priv \
} }
#define NETLIB_DEVICE_WITH_PARAMS(_name, _priv) \ #define NETLIB_DEVICE_WITH_PARAMS(_name, _priv) \
NETLIB_DEVICE_BASE(NETLIB_NAME(_name), device_t, \ NETLIB_DEVICE_BASE(NETLIB_NAME(_name), device_t, \
ATTR_HOT void update_param(); \ ATTR_HOT void update_param() override; \
, _priv) , _priv)
#define NETLIB_DEVICE_WITH_PARAMS_DERIVED(_name, _pclass, _priv) \ #define NETLIB_DEVICE_WITH_PARAMS_DERIVED(_name, _pclass, _priv) \
NETLIB_DEVICE_BASE(NETLIB_NAME(_name), NETLIB_NAME(_pclass), \ NETLIB_DEVICE_BASE(NETLIB_NAME(_name), NETLIB_NAME(_pclass), \
ATTR_HOT void update_param(); \ ATTR_HOT void update_param() override; \
, _priv) , _priv)
#define NETLIB_LOGIC_FAMILY(_fam) \ #define NETLIB_LOGIC_FAMILY(_fam) \
virtual logic_family_desc_t *default_logic_family() \ virtual logic_family_desc_t *default_logic_family() override \
{ \ { \
return netlist_family_ ## _fam; \ return netlist_family_ ## _fam; \
} }
@ -497,7 +497,7 @@ namespace netlist
ATTR_HOT /* inline */ void update_dev(const UINT32 mask); ATTR_HOT /* inline */ void update_dev(const UINT32 mask);
protected: protected:
virtual void save_register() virtual void save_register() override
{ {
save(NLNAME(m_state)); save(NLNAME(m_state));
device_object_t::save_register(); device_object_t::save_register();
@ -548,9 +548,9 @@ namespace netlist
terminal_t *m_otherterm; terminal_t *m_otherterm;
protected: protected:
virtual void save_register(); virtual void save_register() override;
virtual void reset(); virtual void reset() override;
private: private:
ATTR_HOT void set_ptr(nl_double *ptr, const nl_double val) ATTR_HOT void set_ptr(nl_double *ptr, const nl_double val)
{ {
@ -624,7 +624,7 @@ namespace netlist
ATTR_HOT void activate_lh(); ATTR_HOT void activate_lh();
protected: protected:
virtual void reset() virtual void reset() override
{ {
//netlist_core_terminal_t::reset(); //netlist_core_terminal_t::reset();
set_state(STATE_INP_ACTIVE); set_state(STATE_INP_ACTIVE);
@ -648,7 +648,7 @@ namespace netlist
ATTR_HOT nl_double Q_Analog() const; ATTR_HOT nl_double Q_Analog() const;
protected: protected:
virtual void reset() virtual void reset() override
{ {
//netlist_core_terminal_t::reset(); //netlist_core_terminal_t::reset();
set_state(STATE_INP_ACTIVE); set_state(STATE_INP_ACTIVE);
@ -716,8 +716,8 @@ namespace netlist
protected: //FIXME: needed by current solver code protected: //FIXME: needed by current solver code
virtual void save_register(); virtual void save_register() override;
virtual void reset(); virtual void reset() override;
netlist_sig_t m_new_Q; netlist_sig_t m_new_Q;
netlist_sig_t m_cur_Q; netlist_sig_t m_cur_Q;
@ -789,8 +789,8 @@ namespace netlist
protected: //FIXME: needed by current solver code protected: //FIXME: needed by current solver code
virtual void save_register(); virtual void save_register() override;
virtual void reset(); virtual void reset() override;
private: private:
@ -826,8 +826,8 @@ namespace netlist
protected: protected:
virtual void save_register(); virtual void save_register() override;
virtual void reset(); virtual void reset() override;
private: private:
@ -852,7 +852,7 @@ namespace netlist
ATTR_COLD logic_output_t(); ATTR_COLD logic_output_t();
ATTR_COLD void init_object(core_device_t &dev, const pstring &aname); ATTR_COLD void init_object(core_device_t &dev, const pstring &aname);
virtual void reset() virtual void reset() override
{ {
set_state(STATE_OUT); set_state(STATE_OUT);
} }
@ -876,7 +876,7 @@ namespace netlist
ATTR_COLD analog_output_t(); ATTR_COLD analog_output_t();
ATTR_COLD void init_object(core_device_t &dev, const pstring &aname); ATTR_COLD void init_object(core_device_t &dev, const pstring &aname);
virtual void reset() virtual void reset() override
{ {
set_state(STATE_OUT); set_state(STATE_OUT);
} }
@ -914,7 +914,7 @@ namespace netlist
protected: protected:
virtual void reset() { } virtual void reset() override { }
private: private:
const param_type_t m_param_type; const param_type_t m_param_type;
@ -938,7 +938,7 @@ namespace netlist
ATTR_HOT C Value() const { return m_param; } ATTR_HOT C Value() const { return m_param; }
protected: protected:
virtual void save_register() virtual void save_register() override
{ {
/* pstrings not yet supported, these need special logic */ /* pstrings not yet supported, these need special logic */
if (T != param_t::STRING && T != param_t::MODEL) if (T != param_t::STRING && T != param_t::MODEL)
@ -973,7 +973,7 @@ namespace netlist
ATTR_COLD const pstring model_value_str(const pstring &entity); ATTR_COLD const pstring model_value_str(const pstring &entity);
ATTR_COLD const pstring model_type(); ATTR_COLD const pstring model_type();
protected: protected:
void changed() void changed() override
{ {
m_map.clear(); m_map.clear();
} }
@ -1089,7 +1089,7 @@ namespace netlist
virtual ~device_t(); virtual ~device_t();
virtual void init(netlist_t &anetlist, const pstring &name); virtual void init(netlist_t &anetlist, const pstring &name) override;
ATTR_COLD setup_t &setup(); ATTR_COLD setup_t &setup();
@ -1110,9 +1110,9 @@ namespace netlist
protected: protected:
ATTR_HOT virtual void update() { } ATTR_HOT virtual void update() override { }
ATTR_HOT virtual void start() { } ATTR_HOT virtual void start() override { }
ATTR_HOT virtual void update_terminals() { } ATTR_HOT virtual void update_terminals() override { }
template <class C, class T> template <class C, class T>
ATTR_COLD void register_param(const pstring &sname, C &param, const T initialVal); ATTR_COLD void register_param(const pstring &sname, C &param, const T initialVal);
@ -1134,11 +1134,11 @@ namespace netlist
protected: protected:
void reset() {} void reset() override {}
void register_state(pstate_manager_t &manager, const pstring &module); void register_state(pstate_manager_t &manager, const pstring &module) override;
void on_pre_save(); void on_pre_save() override;
void on_post_load(); void on_post_load() override;
private: private:
struct names_t { char m_buf[64]; }; struct names_t { char m_buf[64]; };
@ -1243,8 +1243,8 @@ namespace netlist
// virtual void vlog(const plog_level &l, const pstring &ls) = 0; // virtual void vlog(const plog_level &l, const pstring &ls) = 0;
/* from netlist_object */ /* from netlist_object */
virtual void reset(); virtual void reset() override;
virtual void save_register(); virtual void save_register() override;
#if (NL_KEEP_STATISTICS) #if (NL_KEEP_STATISTICS)
// performance // performance

View File

@ -54,7 +54,7 @@ namespace netlist
const pstring &def_param) const pstring &def_param)
: base_factory_t(name, classname, def_param) { } : base_factory_t(name, classname, def_param) { }
ATTR_COLD device_t *Create() ATTR_COLD device_t *Create() override
{ {
device_t *r = palloc(C); device_t *r = palloc(C);
//r->init(setup, name); //r->init(setup, name);

View File

@ -42,7 +42,7 @@ namespace netlist
/* for debugging messages */ /* for debugging messages */
netlist_t &netlist() { return m_setup.netlist(); } netlist_t &netlist() { return m_setup.netlist(); }
virtual void verror(const pstring &msg, int line_num, const pstring &line); virtual void verror(const pstring &msg, int line_num, const pstring &line) override;
private: private:
nl_double eval_param(const token_t tok); nl_double eval_param(const token_t tok);

View File

@ -886,7 +886,7 @@ class logic_family_std_proxy_t : public logic_family_desc_t
{ {
public: public:
logic_family_std_proxy_t() { } logic_family_std_proxy_t() { }
virtual devices::nld_base_d_to_a_proxy *create_d_a_proxy(logic_output_t *proxied) const virtual devices::nld_base_d_to_a_proxy *create_d_a_proxy(logic_output_t *proxied) const override
{ {
return palloc(devices::nld_d_to_a_proxy(proxied)); return palloc(devices::nld_d_to_a_proxy(proxied));
} }

View File

@ -252,7 +252,7 @@ namespace netlist
{ {
} }
bool parse(setup_t &setup, const pstring &name); bool parse(setup_t &setup, const pstring &name) override;
private: private:
pstring m_str; pstring m_str;
@ -267,7 +267,7 @@ namespace netlist
{ {
} }
bool parse(setup_t &setup, const pstring &name); bool parse(setup_t &setup, const pstring &name) override;
private: private:
pstring m_filename; pstring m_filename;
@ -281,7 +281,7 @@ namespace netlist
{ {
} }
bool parse(setup_t &setup, const pstring &name); bool parse(setup_t &setup, const pstring &name) override;
private: private:
pstring m_str; pstring m_str;
@ -297,7 +297,7 @@ namespace netlist
{ {
} }
bool parse(setup_t &setup, const pstring &name) bool parse(setup_t &setup, const pstring &name) override
{ {
if (name == m_setup_func_name) if (name == m_setup_func_name)
{ {

View File

@ -158,7 +158,7 @@ public:
protected: protected:
void format_element(const char *f, const char *l, const char *fmt_spec, ...); void format_element(const char *f, const char *l, const char *fmt_spec, ...) override;
private: private:
@ -243,7 +243,7 @@ public:
virtual ~plog_channel() { } virtual ~plog_channel() { }
protected: protected:
virtual void vdowrite(const pstring &ls) const; virtual void vdowrite(const pstring &ls) const override;
private: private:
plog_dispatch_intf *m_base; plog_dispatch_intf *m_base;

View File

@ -52,7 +52,7 @@ public:
: poption(ashort, along, help, true, parent), m_val(defval) : poption(ashort, along, help, true, parent), m_val(defval)
{} {}
virtual int parse(pstring argument) { m_val = argument; return 0; } virtual int parse(pstring argument) override { m_val = argument; return 0; }
pstring operator ()() { return m_val; } pstring operator ()() { return m_val; }
private: private:
@ -66,7 +66,7 @@ public:
: poption(ashort, along, help, true, parent), m_val(defval), m_limit(limit, ":") : poption(ashort, along, help, true, parent), m_val(defval), m_limit(limit, ":")
{} {}
virtual int parse(pstring argument) virtual int parse(pstring argument) override
{ {
if (m_limit.contains(argument)) if (m_limit.contains(argument))
{ {
@ -90,7 +90,7 @@ public:
: poption(ashort, along, help, false, parent), m_val(false) : poption(ashort, along, help, false, parent), m_val(false)
{} {}
virtual int parse(ATTR_UNUSED pstring argument) { m_val = true; return 0; } virtual int parse(ATTR_UNUSED pstring argument) override { m_val = true; return 0; }
bool operator ()() { return m_val; } bool operator ()() { return m_val; }
private: private:
@ -104,7 +104,7 @@ public:
: poption(ashort, along, help, true, parent), m_val(defval) : poption(ashort, along, help, true, parent), m_val(defval)
{} {}
virtual int parse(pstring argument) virtual int parse(pstring argument) override
{ {
bool err = false; bool err = false;
m_val = argument.as_double(&err); m_val = argument.as_double(&err);

View File

@ -184,9 +184,9 @@ public:
protected: protected:
/* write n bytes to stream */ /* write n bytes to stream */
virtual void vwrite(const void *buf, const unsigned n); virtual void vwrite(const void *buf, const unsigned n) override;
virtual void vseek(const pos_type n); virtual void vseek(const pos_type n) override;
virtual pos_type vtell(); virtual pos_type vtell() override;
private: private:
pos_type m_pos; pos_type m_pos;
@ -208,12 +208,12 @@ public:
protected: protected:
/* write n bytes to stream */ /* write n bytes to stream */
virtual void vwrite(const void *buf, const unsigned n) virtual void vwrite(const void *buf, const unsigned n) override
{ {
m_buf.cat(buf, n); m_buf.cat(buf, n);
} }
virtual void vseek(const pos_type n) { } virtual void vseek(const pos_type n) override { }
virtual pos_type vtell() { return m_buf.len(); } virtual pos_type vtell() override { return m_buf.len(); }
private: private:
pstringbuffer m_buf; pstringbuffer m_buf;
@ -236,9 +236,9 @@ public:
protected: protected:
pofilestream(void *file, const bool do_close); pofilestream(void *file, const bool do_close);
/* write n bytes to stream */ /* write n bytes to stream */
virtual void vwrite(const void *buf, const unsigned n); virtual void vwrite(const void *buf, const unsigned n) override;
virtual void vseek(const pos_type n); virtual void vseek(const pos_type n) override;
virtual pos_type vtell(); virtual pos_type vtell() override;
private: private:
void *m_file; void *m_file;
@ -288,9 +288,9 @@ protected:
pifilestream(void *file, const bool do_close); pifilestream(void *file, const bool do_close);
/* read up to n bytes from stream */ /* read up to n bytes from stream */
virtual unsigned vread(void *buf, const unsigned n); virtual unsigned vread(void *buf, const unsigned n) override;
virtual void vseek(const pos_type n); virtual void vseek(const pos_type n) override;
virtual pos_type vtell(); virtual pos_type vtell() override;
private: private:
void *m_file; void *m_file;
@ -327,9 +327,9 @@ public:
protected: protected:
/* read up to n bytes from stream */ /* read up to n bytes from stream */
virtual unsigned vread(void *buf, const unsigned n); virtual unsigned vread(void *buf, const unsigned n) override;
virtual void vseek(const pos_type n); virtual void vseek(const pos_type n) override;
virtual pos_type vtell(); virtual pos_type vtell() override;
private: private:
pos_type m_pos; pos_type m_pos;
@ -366,7 +366,7 @@ public:
virtual ~pstream_fmt_writer_t() { } virtual ~pstream_fmt_writer_t() { }
protected: protected:
virtual void vdowrite(const pstring &ls) const virtual void vdowrite(const pstring &ls) const override
{ {
m_strm.write(ls); m_strm.write(ls);
} }

View File

@ -194,7 +194,7 @@ public:
protected: protected:
void vlog(const plog_level &l, const pstring &ls) const void vlog(const plog_level &l, const pstring &ls) const override
{ {
pout("{}: {}\n", l.name().cstr(), ls.cstr()); pout("{}: {}\n", l.name().cstr(), ls.cstr());
if (l == plog_level::FATAL) if (l == plog_level::FATAL)

View File

@ -28,17 +28,17 @@ public:
virtual ~matrix_solver_direct_t(); virtual ~matrix_solver_direct_t();
virtual void vsetup(analog_net_t::list_t &nets); virtual void vsetup(analog_net_t::list_t &nets) override;
virtual void reset() { matrix_solver_t::reset(); } virtual void reset() override { matrix_solver_t::reset(); }
ATTR_HOT inline unsigned N() const { if (m_N == 0) return m_dim; else return m_N; } ATTR_HOT inline unsigned N() const { if (m_N == 0) return m_dim; else return m_N; }
ATTR_HOT inline int vsolve_non_dynamic(const bool newton_raphson); ATTR_HOT inline int vsolve_non_dynamic(const bool newton_raphson);
protected: protected:
virtual void add_term(int net_idx, terminal_t *term); virtual void add_term(int net_idx, terminal_t *term) override;
ATTR_HOT virtual nl_double vsolve(); ATTR_HOT virtual nl_double vsolve() override;
ATTR_HOT int solve_non_dynamic(const bool newton_raphson); ATTR_HOT int solve_non_dynamic(const bool newton_raphson);
ATTR_HOT void build_LE_A(); ATTR_HOT void build_LE_A();

View File

@ -22,7 +22,7 @@ public:
{} {}
ATTR_HOT inline int vsolve_non_dynamic(const bool newton_raphson); ATTR_HOT inline int vsolve_non_dynamic(const bool newton_raphson);
protected: protected:
ATTR_HOT virtual nl_double vsolve(); ATTR_HOT virtual nl_double vsolve() override;
private: private:
}; };

View File

@ -22,7 +22,7 @@ public:
{} {}
ATTR_HOT inline int vsolve_non_dynamic(const bool newton_raphson); ATTR_HOT inline int vsolve_non_dynamic(const bool newton_raphson);
protected: protected:
ATTR_HOT virtual nl_double vsolve(); ATTR_HOT virtual nl_double vsolve() override;
private: private:
}; };

View File

@ -30,17 +30,17 @@ public:
virtual ~matrix_solver_direct_t(); virtual ~matrix_solver_direct_t();
virtual void vsetup(analog_net_t::list_t &nets); virtual void vsetup(analog_net_t::list_t &nets) override;
virtual void reset() { matrix_solver_t::reset(); } virtual void reset() override { matrix_solver_t::reset(); }
ATTR_HOT inline unsigned N() const { if (m_N == 0) return m_dim; else return m_N; } ATTR_HOT inline unsigned N() const { if (m_N == 0) return m_dim; else return m_N; }
ATTR_HOT inline int vsolve_non_dynamic(const bool newton_raphson); ATTR_HOT inline int vsolve_non_dynamic(const bool newton_raphson);
protected: protected:
virtual void add_term(int net_idx, terminal_t *term); virtual void add_term(int net_idx, terminal_t *term) override;
ATTR_HOT virtual nl_double vsolve(); ATTR_HOT virtual nl_double vsolve() override;
ATTR_HOT int solve_non_dynamic(const bool newton_raphson); ATTR_HOT int solve_non_dynamic(const bool newton_raphson);
ATTR_HOT void build_LE_A(); ATTR_HOT void build_LE_A();

View File

@ -53,10 +53,10 @@ public:
delete[] m_v[i]; delete[] m_v[i];
} }
virtual void vsetup(analog_net_t::list_t &nets); virtual void vsetup(analog_net_t::list_t &nets) override;
ATTR_HOT virtual int vsolve_non_dynamic(const bool newton_raphson); ATTR_HOT virtual int vsolve_non_dynamic(const bool newton_raphson);
protected: protected:
ATTR_HOT virtual nl_double vsolve(); ATTR_HOT virtual nl_double vsolve() override;
private: private:

View File

@ -32,10 +32,10 @@ public:
virtual ~matrix_solver_SOR_t() {} virtual ~matrix_solver_SOR_t() {}
virtual void vsetup(analog_net_t::list_t &nets); virtual void vsetup(analog_net_t::list_t &nets) override;
ATTR_HOT virtual int vsolve_non_dynamic(const bool newton_raphson); ATTR_HOT virtual int vsolve_non_dynamic(const bool newton_raphson);
protected: protected:
ATTR_HOT virtual nl_double vsolve(); ATTR_HOT virtual nl_double vsolve() override;
private: private:
nl_double m_lp_fact; nl_double m_lp_fact;

View File

@ -35,11 +35,11 @@ public:
virtual ~matrix_solver_SOR_mat_t() {} virtual ~matrix_solver_SOR_mat_t() {}
virtual void vsetup(analog_net_t::list_t &nets); virtual void vsetup(analog_net_t::list_t &nets) override;
ATTR_HOT inline int vsolve_non_dynamic(const bool newton_raphson); ATTR_HOT inline int vsolve_non_dynamic(const bool newton_raphson);
protected: protected:
ATTR_HOT virtual nl_double vsolve(); ATTR_HOT virtual nl_double vsolve() override;
private: private:
nl_double m_Vdelta[_storage_N]; nl_double m_Vdelta[_storage_N];

View File

@ -125,9 +125,9 @@ public:
} }
/* netdevice functions */ /* netdevice functions */
ATTR_HOT virtual void update(); ATTR_HOT virtual void update() override;
virtual void start(); virtual void start() override;
virtual void reset(); virtual void reset() override;
ATTR_COLD int get_net_idx(net_t *net); ATTR_COLD int get_net_idx(net_t *net);
@ -186,15 +186,15 @@ public:
virtual ~NETLIB_NAME(solver)(); virtual ~NETLIB_NAME(solver)();
ATTR_COLD void post_start(); ATTR_COLD void post_start();
ATTR_COLD void stop(); ATTR_COLD void stop() override;
ATTR_HOT inline nl_double gmin() { return m_gmin.Value(); } ATTR_HOT inline nl_double gmin() { return m_gmin.Value(); }
protected: protected:
ATTR_HOT void update(); ATTR_HOT void update() override;
ATTR_HOT void start(); ATTR_HOT void start() override;
ATTR_HOT void reset(); ATTR_HOT void reset() override;
ATTR_HOT void update_param(); ATTR_HOT void update_param() override;
logic_input_t m_fb_step; logic_input_t m_fb_step;
logic_output_t m_Q_step; logic_output_t m_Q_step;

View File

@ -144,7 +144,7 @@ public:
{ {
} }
void convert(const pstring &contents); void convert(const pstring &contents) override;
protected: protected:
@ -197,7 +197,7 @@ public:
protected: protected:
void verror(const pstring &msg, int line_num, const pstring &line) void verror(const pstring &msg, int line_num, const pstring &line) override
{ {
m_convert.out("{} (line {}): {}\n", msg.cstr(), line_num, line.cstr()); m_convert.out("{} (line {}): {}\n", msg.cstr(), line_num, line.cstr());
} }
@ -207,7 +207,7 @@ public:
nl_convert_eagle_t &m_convert; nl_convert_eagle_t &m_convert;
}; };
void convert(const pstring &contents); void convert(const pstring &contents) override;
protected: protected: