DiffEq - Modern C++ ODE Integration Library 1.0.0
High-performance C++ library for solving ODEs with async signal processing
|
Lightweight async integrator wrapper. More...
#include <async_integrator.hpp>
Classes | |
struct | Config |
Configuration for async operation. More... | |
Public Types | |
using | base_integrator_type = core::AbstractIntegrator< S > |
using | state_type = typename base_integrator_type::state_type |
using | time_type = typename base_integrator_type::time_type |
using | value_type = typename base_integrator_type::value_type |
using | system_function = typename base_integrator_type::system_function |
using | step_callback = std::function< void(const state_type &, time_type)> |
using | parameter_callback = std::function< void(const std::string &, double)> |
using | emergency_callback = std::function< void()> |
Public Member Functions | |
AsyncIntegrator (std::unique_ptr< base_integrator_type > integrator, Config config={}) | |
void | start () |
Start async operation. | |
void | stop () |
Stop async operation. | |
std::future< void > | step_async (state_type &state, time_type dt) |
Async integration step. | |
std::future< void > | integrate_async (state_type &state, time_type dt, time_type end_time) |
Async integration over time interval. | |
void | step (state_type &state, time_type dt) |
Synchronous delegation to base integrator. | |
void | integrate (state_type &state, time_type dt, time_type end_time) |
time_type | current_time () const |
void | set_time (time_type t) |
void | set_system (system_function sys) |
void | set_step_callback (step_callback callback) |
Register callbacks for different events. | |
void | set_parameter_callback (parameter_callback callback) |
void | set_emergency_callback (emergency_callback callback) |
std::future< void > | update_parameter_async (const std::string &name, double value) |
Update parameter asynchronously. | |
void | emergency_stop () |
Emergency stop. | |
void | reset_emergency_stop () |
Reset emergency stop. | |
state_type | get_current_state () const |
Get current state (thread-safe) | |
Lightweight async integrator wrapper.
This provides async capabilities without heavy communication dependencies. It uses only standard C++ facilities and focuses on the core integration functionality with minimal external dependencies.
Definition at line 149 of file async_integrator.hpp.
using diffeq::async::AsyncIntegrator< S >::base_integrator_type = core::AbstractIntegrator<S> |
Definition at line 151 of file async_integrator.hpp.
using diffeq::async::AsyncIntegrator< S >::emergency_callback = std::function<void()> |
Definition at line 160 of file async_integrator.hpp.
using diffeq::async::AsyncIntegrator< S >::parameter_callback = std::function<void(const std::string&, double)> |
Definition at line 159 of file async_integrator.hpp.
using diffeq::async::AsyncIntegrator< S >::state_type = typename base_integrator_type::state_type |
Definition at line 152 of file async_integrator.hpp.
using diffeq::async::AsyncIntegrator< S >::step_callback = std::function<void(const state_type&, time_type)> |
Definition at line 158 of file async_integrator.hpp.
using diffeq::async::AsyncIntegrator< S >::system_function = typename base_integrator_type::system_function |
Definition at line 155 of file async_integrator.hpp.
using diffeq::async::AsyncIntegrator< S >::time_type = typename base_integrator_type::time_type |
Definition at line 153 of file async_integrator.hpp.
using diffeq::async::AsyncIntegrator< S >::value_type = typename base_integrator_type::value_type |
Definition at line 154 of file async_integrator.hpp.
|
inlineexplicit |
Definition at line 172 of file async_integrator.hpp.
|
inline |
Definition at line 181 of file async_integrator.hpp.
|
inline |
Definition at line 286 of file async_integrator.hpp.
|
inline |
Emergency stop.
Definition at line 319 of file async_integrator.hpp.
|
inline |
Get current state (thread-safe)
Definition at line 336 of file async_integrator.hpp.
|
inline |
Definition at line 277 of file async_integrator.hpp.
|
inline |
Async integration over time interval.
Definition at line 240 of file async_integrator.hpp.
|
inline |
Reset emergency stop.
Definition at line 329 of file async_integrator.hpp.
|
inline |
Definition at line 301 of file async_integrator.hpp.
|
inline |
Definition at line 297 of file async_integrator.hpp.
|
inline |
Register callbacks for different events.
Definition at line 293 of file async_integrator.hpp.
|
inline |
Definition at line 288 of file async_integrator.hpp.
|
inline |
Definition at line 287 of file async_integrator.hpp.
|
inline |
Start async operation.
Definition at line 188 of file async_integrator.hpp.
|
inline |
Synchronous delegation to base integrator.
Definition at line 264 of file async_integrator.hpp.
|
inline |
Async integration step.
Definition at line 218 of file async_integrator.hpp.
|
inline |
Stop async operation.
Definition at line 201 of file async_integrator.hpp.
|
inline |
Update parameter asynchronously.
Definition at line 308 of file async_integrator.hpp.