pub type Eval_Grad_F_CB = unsafe extern "C" fn(n: Index, x: *const Number, new_x: Bool, grad_f: *mut Number, user_data: *mut c_void) -> Bool;