Function icasadi::icasadi_grad

source ·
pub fn icasadi_grad(
    u: &[f64],
    casadi_static_params: &[f64],
    cost_jacobian: &mut [f64]
) -> c_int
Expand description

Consume the Jacobian function written in C

Example

fn tst_call_casadi_cost() {
    let u = [1.0, 2.0, 3.0, -5.0, 1.0, 10.0, 14.0, 17.0, 3.0, 5.0];
    let p = [1.0, -1.0];
    let mut jac = [0.0; 10];
    icasadi::icasadi_grad(&u, &p, &mut jac);
}

Panics

This method does not panic (on purpose). However, users need to be careful when providing the arguments u and casadi_static_params as they must be arrays of appropriate size.

As a safety measure, you may check whether

  • u.len() >= icasadi::num_decision_variables()
  • casadi_static_params.len() >= icasadi::num_static_parameters()
  • cost_jacobian.len() >= icasadi::num_decision_variables()