diff options
author | 2019-11-15 21:55:41 +0100 | |
---|---|---|
committer | 2019-11-15 22:16:37 +0100 | |
commit | bcfa9eae6f16c35254a5cee1fb992f988c0a86ce (patch) | |
tree | 8b42ff7a46d9be7b73e2c5b7170afe7c27d15180 /src/lib/netlist/analog/nld_bjt.cpp | |
parent | df143446696cee294a6ffd7ea6bc0b09a43d9c02 (diff) |
netlist: maintenance and bug fixes, remove DUMMY_INPUT. [Couriersud]
- Removed DUMMY_INPUT. NC (not connected) pins should now use NC_PIN.
If a NC_PIN is actually connected, an error will be logged and
validation will fail.
- Enabled "extended" validation. This will catch now if power terminals
are not connected.
- Added const and noexcept where appropriate.
- Removed dead code.
- Fixed the 7414 Schmitt-Trigger device to use nld_power_pins
Diffstat (limited to 'src/lib/netlist/analog/nld_bjt.cpp')
-rw-r--r-- | src/lib/netlist/analog/nld_bjt.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/lib/netlist/analog/nld_bjt.cpp b/src/lib/netlist/analog/nld_bjt.cpp index 61c7d9296a1..68253e303cf 100644 --- a/src/lib/netlist/analog/nld_bjt.cpp +++ b/src/lib/netlist/analog/nld_bjt.cpp @@ -18,22 +18,22 @@ namespace analog , m_VT_inv(plib::reciprocal(m_VT)) {} - diode(const nl_fptype Is, const nl_fptype n) + diode(nl_fptype Is, nl_fptype n) { m_Is = Is; m_VT = nlconst::magic(0.0258) * n; m_VT_inv = plib::reciprocal(m_VT); } - void set(const nl_fptype Is, const nl_fptype n) + void set(nl_fptype Is, nl_fptype n) noexcept { m_Is = Is; m_VT = nlconst::magic(0.0258) * n; m_VT_inv = plib::reciprocal(m_VT); } - nl_fptype I(const nl_fptype V) const { return m_Is * plib::exp(V * m_VT_inv) - m_Is; } - nl_fptype g(const nl_fptype V) const { return m_Is * m_VT_inv * plib::exp(V * m_VT_inv); } - nl_fptype V(const nl_fptype I) const { return plib::log1p(I / m_Is) * m_VT; } // log1p(x)=log(1.0 + x) - nl_fptype gI(const nl_fptype I) const { return m_VT_inv * (I + m_Is); } + nl_fptype I(nl_fptype V) const noexcept { return m_Is * plib::exp(V * m_VT_inv) - m_Is; } + nl_fptype g(nl_fptype V) const noexcept { return m_Is * m_VT_inv * plib::exp(V * m_VT_inv); } + nl_fptype V(nl_fptype I) const noexcept { return plib::log1p(I / m_Is) * m_VT; } // log1p(x)=log(1.0 + x) + nl_fptype gI(nl_fptype I) const noexcept { return m_VT_inv * (I + m_Is); } private: nl_fptype m_Is; @@ -140,9 +140,9 @@ namespace analog //NETLIB_RESETI(); NETLIB_UPDATEI(); - q_type qtype() const { return m_qtype; } - bool is_qtype(q_type atype) const { return m_qtype == atype; } - void set_qtype(q_type atype) { m_qtype = atype; } + q_type qtype() const noexcept { return m_qtype; } + bool is_qtype(q_type atype) const noexcept { return m_qtype == atype; } + void set_qtype(q_type atype) noexcept { m_qtype = atype; } protected: bjt_model_t m_model; |