Callback is supposed to be high-level interface to FunctionInternal. Working with work vectors is error prone and should reasonably be removed from any high-level interface.
The following methods are low-level and would be removed:
virtual int eval(const double**, double**, casadi_int*, double*, void*) const;
eval_sx
alloc_w
alloc_iw
alloc_arg
alloc_res
This would also resolve the current problematic infinite loop for CallbackInternal::eval and CallbackInternal::eval_dm (haven't looked deep into this, but the design doesn't look clean).
Callback is supposed to be high-level interface to FunctionInternal. Working with work vectors is error prone and should reasonably be removed from any high-level interface.
The following methods are low-level and would be removed:
virtual int eval(const double**, double**, casadi_int*, double*, void*) const;eval_sxalloc_walloc_iwalloc_argalloc_resThis would also resolve the current problematic infinite loop for
CallbackInternal::evalandCallbackInternal::eval_dm(haven't looked deep into this, but the design doesn't look clean).