Esempio n. 1
0
  Vertcat::Vertcat(const std::vector<MX>& x) : Concat(x) {
    // Construct the sparsity
    casadi_assert(!x.empty());
    Sparsity sp = x.front().sparsity();
    for (vector<MX>::const_iterator i=x.begin()+1; i!=x.end(); ++i) {
      sp.append(i->sparsity());
    }

    setSparsity(sp);
  }
Esempio n. 2
0
 Sparsity vertcat(const Sparsity & a, const Sparsity & b) {
   if(a.isVector()){
     Sparsity ret = a;
     ret.append(b);
     return ret;
   } else {
     Sparsity ret = a.T();
     ret.appendColumns(b.T());
     return ret.T();
   }
 }
Esempio n. 3
0
 Sparsity vertcat(const std::vector<Sparsity> & sp) {
   if(sp.empty()){
     return Sparsity();
   } else if(sp[0].isVector()){
     Sparsity ret = sp[0];
     for(int i=1; i<sp.size(); ++i) {
       ret.append(sp[i]);
     }
     return ret;
   } else {
     Sparsity ret = sp[0].T();
     for(int i=1; i<sp.size(); ++i) {
       ret.appendColumns(sp[i].T());
     }
     return ret.T();
   }
 }