void Affine2Eval::vector_fwd(const ExprVector& v, const ExprLabel** compL, ExprLabel& y) { assert(v.type()!=Dim::SCALAR); assert(v.type()!=Dim::MATRIX_ARRAY); if (v.dim.is_vector()) { for (int i=0; i<v.length(); i++) { y.af2->v()[i]=compL[i]->af2->i(); y.d->v()[i]=compL[i]->d->i(); } } else { if (v.row_vector()) for (int i=0; i<v.length(); i++) { y.af2->m().set_col(i,compL[i]->af2->v()); y.d->m().set_col(i,compL[i]->d->v()); } else for (int i=0; i<v.length(); i++) { y.af2->m().set_row(i,compL[i]->af2->v()); y.d->m().set_row(i,compL[i]->d->v()); } } }