55 std::span<double *const> res) {
56 if (arg.size() !=
static_cast<size_t>(n_in()))
57 throw std::invalid_argument(
"Wrong number of arguments to CasADi "
59 if (res.size() !=
static_cast<size_t>(n_out()))
60 throw std::invalid_argument(
"Wrong number of outputs to CasADi "
64 std::ranges::copy(arg, work->arg.begin());
65 std::ranges::copy(res, work->res.begin());
66 functions.call(work->arg.data(), work->res.data(), work->iw.data(),
78 fname_incref::signature_t *incref =
nullptr;
79 fname_decref::signature_t *decref =
nullptr;
80 fname_n_in::signature_t *n_in =
nullptr;
81 fname_n_out::signature_t *n_out =
nullptr;
82 fname_name_in::signature_t *name_in =
nullptr;
83 fname_name_out::signature_t *name_out =
nullptr;
84 fname_sparsity_in::signature_t *sparsity_in =
nullptr;
85 fname_sparsity_out::signature_t *sparsity_out =
nullptr;
86 fname_alloc_mem::signature_t *alloc_mem =
nullptr;
87 fname_init_mem::signature_t *init_mem =
nullptr;
88 fname_free_mem::signature_t *free_mem =
nullptr;
89 fname_work::signature_t *work =
nullptr;
90 fname::signature_t *call =
nullptr;