59 #ifndef HYB_FLOAT_TYPE 60 #define HYB_FLOAT_TYPE double 64 #define RK4_FLOAT_TYPE HYB_FLOAT_TYPE 235 #ifndef HYB_JUMP_LOGIC 236 #define HYB_JUMP_LOGIC 1 255 #define HYB_GET_OPTS(S) ((hyb_opts *)S) 256 #define HYB_SEND_OPTS(S) ((void *)S) 258 typedef enum hyb_errorcode {
void(* hyb_flow_map)(hyb_float *xdot, hyb_float t, hyb_float j, const hyb_float *x, const hyb_float *u, const hyb_float **p)
Callback definition for the Flow Map.
void(* hyb_jump_map)(hyb_float *xp, hyb_float t, hyb_float j, const hyb_float *x, const hyb_float *u, const hyb_float **p)
Callback definition for the Jump Map.
Options structure for the hybrid system.
struct hyb_opts hyb_opts
Options structure for the hybrid system.
hyb_errorcode hyb_main_loop(hyb_opts *opts, hyb_float *y, hyb_float *xp, hyb_float tau, const hyb_float *x, const hyb_float *u, const hyb_float **p)
Hybrid system main loop.
void hyb_flow_map_wrapper(hyb_float *dx, hyb_float tau, const hyb_float *x, const hyb_float *u, const hyb_float **p, void *vopts)
Internal callback for discretization step.
hyb_bool
libhybrid boolean type is actually an enum
hyb_bool(* hyb_jump_set)(hyb_float t, hyb_float j, const hyb_float *x, const hyb_float *u, const hyb_float **p)
Callback definition for the Jump Set.
void(* hyb_out_map)(hyb_float *y, hyb_float t, hyb_float j, const hyb_float *x, const hyb_float *u, const hyb_float **p)
hyb_bool(* hyb_flow_set)(hyb_float t, hyb_float j, const hyb_float *x, const hyb_float *u, const hyb_float **p)
Callback definition for the Flow Set.