54 const T1* all_w,
const casadi_int* w_offset,
55 const casadi_int* starts,
const casadi_int* strides,
56 const T1* c, casadi_int m,
57 T1 weight, casadi_int offset) {
61 n_w = w_offset[dim+1] - w_offset[dim];
62 w = all_w + w_offset[dim];
65 const T1* coeff = c + offset + starts[0]*m;
66 for (i = 0; i < n_w; ++i) {
67 T1 ww = weight * w[i];
68 for (j = 0; j < m; ++j)
69 ret[j] += ww * coeff[i*m + j];
73 for (i = 0; i < n_w; ++i) {
75 starts, strides, c, m,
77 offset + (starts[dim]+i)*strides[dim]);
void casadi_tensor_ttv(T1 *ret, casadi_int dim, casadi_int n_dims, const T1 *all_w, const casadi_int *w_offset, const casadi_int *starts, const casadi_int *strides, const T1 *c, casadi_int m, T1 weight, casadi_int offset)