24 void casadi_kron_contract_inner_dense_sparse(
const T1* m, casadi_int mA, casadi_int nA,
25 const T1* b,
const casadi_int* sp_b,
27 casadi_int mB = sp_b[0], nB = sp_b[1];
28 const casadi_int* b_colind = sp_b+2;
29 const casadi_int* b_row = sp_b+2+nB+1;
30 casadi_int s, b_el, rr, j, i, k;
33 for (k=0; k<mA*nA; ++k) y[k] = 0;
34 for (s=0; s<nB; ++s) {
35 for (b_el=b_colind[s]; b_el<b_colind[s+1]; ++b_el) {
38 for (j=0; j<nA; ++j) {
39 m_col = m + (j*nB+s)*(mA*mB);
40 for (i=0; i<mA; ++i) y[j*mA + i] += b_val * m_col[i*mB + rr];