summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/solver/nld_matrix_solver.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/netlist/solver/nld_matrix_solver.h')
-rw-r--r--src/lib/netlist/solver/nld_matrix_solver.h14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/lib/netlist/solver/nld_matrix_solver.h b/src/lib/netlist/solver/nld_matrix_solver.h
index c55844b75ad..0555360e4db 100644
--- a/src/lib/netlist/solver/nld_matrix_solver.h
+++ b/src/lib/netlist/solver/nld_matrix_solver.h
@@ -182,8 +182,8 @@ namespace solver
netlist_time solve(netlist_time_ext now);
void update_inputs();
- bool has_dynamic_devices() const noexcept { return !m_dynamic_devices.empty(); }
- bool has_timestep_devices() const noexcept { return !m_step_devices.empty(); }
+ std::size_t dynamic_device_count() const noexcept { return m_dynamic_funcs.size(); }
+ std::size_t timestep_device_count() const noexcept { return m_step_funcs.size(); }
void update_forced();
void update_after(netlist_time after) noexcept
@@ -238,8 +238,8 @@ namespace solver
state_var<std::size_t> m_stat_vsolver_calls;
state_var<netlist_time_ext> m_last_step;
- std::vector<core_device_t *> m_step_devices;
- std::vector<core_device_t *> m_dynamic_devices;
+ std::vector<nldelegate_ts> m_step_funcs;
+ std::vector<nldelegate_dyn> m_dynamic_funcs;
logic_input_t m_fb_sync;
logic_output_t m_Q_sync;
@@ -251,8 +251,8 @@ namespace solver
void sort_terms(matrix_sort_type_e sort);
- void update_dynamic();
- void step(const netlist_time &delta);
+ void update_dynamic() noexcept;
+ void step(netlist_time delta) noexcept;
int get_net_idx(const analog_net_t *net) const noexcept;
std::pair<int, int> get_left_right_of_diag(std::size_t irow, std::size_t idiag);
@@ -311,7 +311,7 @@ namespace solver
plib::parray<FT, SIZE> m_RHS;
PALIGNAS_VECTOROPT()
- plib::parray2D<float_type *, SIZE, 0> m_mat_ptr;
+ plib::pmatrix2d<float_type *> m_mat_ptr;
// FIXME: below should be private
// state - variable time_stepping