//Mechanically generate code. Do not edit.
namespace TooN {
//modify make_make_vector.awk and run make internal/make_vector.hh
inline Vector<1> makeVector(double x1){
  Vector<1> vals;
  vals[0] = x1;
  return vals;
}
template<typename Precision> inline Vector<1, Precision> makeVector(const Precision& x1){
  Vector<1, Precision> vals;
  vals[0] = x1;
  return vals;
}
inline Vector<2> makeVector(double x1, double x2){
  Vector<2> vals;
  vals[0] = x1;
  vals[1] = x2;
  return vals;
}
template<typename Precision> inline Vector<2, Precision> makeVector(const Precision& x1, const Precision& x2){
  Vector<2, Precision> vals;
  vals[0] = x1;
  vals[1] = x2;
  return vals;
}
inline Vector<3> makeVector(double x1, double x2, double x3){
  Vector<3> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  return vals;
}
template<typename Precision> inline Vector<3, Precision> makeVector(const Precision& x1, const Precision& x2, const Precision& x3){
  Vector<3, Precision> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  return vals;
}
inline Vector<4> makeVector(double x1, double x2, double x3, double x4){
  Vector<4> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  return vals;
}
template<typename Precision> inline Vector<4, Precision> makeVector(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4){
  Vector<4, Precision> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  return vals;
}
inline Vector<5> makeVector(double x1, double x2, double x3, double x4, double x5){
  Vector<5> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  return vals;
}
template<typename Precision> inline Vector<5, Precision> makeVector(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5){
  Vector<5, Precision> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  return vals;
}
inline Vector<6> makeVector(double x1, double x2, double x3, double x4, double x5, double x6){
  Vector<6> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  return vals;
}
template<typename Precision> inline Vector<6, Precision> makeVector(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6){
  Vector<6, Precision> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  return vals;
}
inline Vector<7> makeVector(double x1, double x2, double x3, double x4, double x5, double x6, double x7){
  Vector<7> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  return vals;
}
template<typename Precision> inline Vector<7, Precision> makeVector(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7){
  Vector<7, Precision> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  return vals;
}
inline Vector<8> makeVector(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8){
  Vector<8> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  return vals;
}
template<typename Precision> inline Vector<8, Precision> makeVector(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8){
  Vector<8, Precision> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  return vals;
}
inline Vector<9> makeVector(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9){
  Vector<9> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  return vals;
}
template<typename Precision> inline Vector<9, Precision> makeVector(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9){
  Vector<9, Precision> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  return vals;
}
inline Vector<10> makeVector(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10){
  Vector<10> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  return vals;
}
template<typename Precision> inline Vector<10, Precision> makeVector(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10){
  Vector<10, Precision> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  return vals;
}
inline Vector<11> makeVector(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11){
  Vector<11> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  return vals;
}
template<typename Precision> inline Vector<11, Precision> makeVector(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11){
  Vector<11, Precision> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  return vals;
}
inline Vector<12> makeVector(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12){
  Vector<12> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  return vals;
}
template<typename Precision> inline Vector<12, Precision> makeVector(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12){
  Vector<12, Precision> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  return vals;
}
inline Vector<13> makeVector(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13){
  Vector<13> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  return vals;
}
template<typename Precision> inline Vector<13, Precision> makeVector(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13){
  Vector<13, Precision> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  return vals;
}
inline Vector<14> makeVector(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14){
  Vector<14> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  vals[13] = x14;
  return vals;
}
template<typename Precision> inline Vector<14, Precision> makeVector(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14){
  Vector<14, Precision> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  vals[13] = x14;
  return vals;
}
inline Vector<15> makeVector(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15){
  Vector<15> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  vals[13] = x14;
  vals[14] = x15;
  return vals;
}
template<typename Precision> inline Vector<15, Precision> makeVector(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15){
  Vector<15, Precision> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  vals[13] = x14;
  vals[14] = x15;
  return vals;
}
inline Vector<16> makeVector(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16){
  Vector<16> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  vals[13] = x14;
  vals[14] = x15;
  vals[15] = x16;
  return vals;
}
template<typename Precision> inline Vector<16, Precision> makeVector(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16){
  Vector<16, Precision> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  vals[13] = x14;
  vals[14] = x15;
  vals[15] = x16;
  return vals;
}
inline Vector<17> makeVector(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17){
  Vector<17> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  vals[13] = x14;
  vals[14] = x15;
  vals[15] = x16;
  vals[16] = x17;
  return vals;
}
template<typename Precision> inline Vector<17, Precision> makeVector(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17){
  Vector<17, Precision> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  vals[13] = x14;
  vals[14] = x15;
  vals[15] = x16;
  vals[16] = x17;
  return vals;
}
inline Vector<18> makeVector(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18){
  Vector<18> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  vals[13] = x14;
  vals[14] = x15;
  vals[15] = x16;
  vals[16] = x17;
  vals[17] = x18;
  return vals;
}
template<typename Precision> inline Vector<18, Precision> makeVector(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18){
  Vector<18, Precision> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  vals[13] = x14;
  vals[14] = x15;
  vals[15] = x16;
  vals[16] = x17;
  vals[17] = x18;
  return vals;
}
inline Vector<19> makeVector(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19){
  Vector<19> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  vals[13] = x14;
  vals[14] = x15;
  vals[15] = x16;
  vals[16] = x17;
  vals[17] = x18;
  vals[18] = x19;
  return vals;
}
template<typename Precision> inline Vector<19, Precision> makeVector(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19){
  Vector<19, Precision> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  vals[13] = x14;
  vals[14] = x15;
  vals[15] = x16;
  vals[16] = x17;
  vals[17] = x18;
  vals[18] = x19;
  return vals;
}
inline Vector<20> makeVector(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20){
  Vector<20> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  vals[13] = x14;
  vals[14] = x15;
  vals[15] = x16;
  vals[16] = x17;
  vals[17] = x18;
  vals[18] = x19;
  vals[19] = x20;
  return vals;
}
template<typename Precision> inline Vector<20, Precision> makeVector(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20){
  Vector<20, Precision> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  vals[13] = x14;
  vals[14] = x15;
  vals[15] = x16;
  vals[16] = x17;
  vals[17] = x18;
  vals[18] = x19;
  vals[19] = x20;
  return vals;
}
inline Vector<21> makeVector(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21){
  Vector<21> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  vals[13] = x14;
  vals[14] = x15;
  vals[15] = x16;
  vals[16] = x17;
  vals[17] = x18;
  vals[18] = x19;
  vals[19] = x20;
  vals[20] = x21;
  return vals;
}
template<typename Precision> inline Vector<21, Precision> makeVector(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21){
  Vector<21, Precision> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  vals[13] = x14;
  vals[14] = x15;
  vals[15] = x16;
  vals[16] = x17;
  vals[17] = x18;
  vals[18] = x19;
  vals[19] = x20;
  vals[20] = x21;
  return vals;
}
inline Vector<22> makeVector(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22){
  Vector<22> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  vals[13] = x14;
  vals[14] = x15;
  vals[15] = x16;
  vals[16] = x17;
  vals[17] = x18;
  vals[18] = x19;
  vals[19] = x20;
  vals[20] = x21;
  vals[21] = x22;
  return vals;
}
template<typename Precision> inline Vector<22, Precision> makeVector(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22){
  Vector<22, Precision> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  vals[13] = x14;
  vals[14] = x15;
  vals[15] = x16;
  vals[16] = x17;
  vals[17] = x18;
  vals[18] = x19;
  vals[19] = x20;
  vals[20] = x21;
  vals[21] = x22;
  return vals;
}
inline Vector<23> makeVector(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23){
  Vector<23> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  vals[13] = x14;
  vals[14] = x15;
  vals[15] = x16;
  vals[16] = x17;
  vals[17] = x18;
  vals[18] = x19;
  vals[19] = x20;
  vals[20] = x21;
  vals[21] = x22;
  vals[22] = x23;
  return vals;
}
template<typename Precision> inline Vector<23, Precision> makeVector(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23){
  Vector<23, Precision> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  vals[13] = x14;
  vals[14] = x15;
  vals[15] = x16;
  vals[16] = x17;
  vals[17] = x18;
  vals[18] = x19;
  vals[19] = x20;
  vals[20] = x21;
  vals[21] = x22;
  vals[22] = x23;
  return vals;
}
inline Vector<24> makeVector(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24){
  Vector<24> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  vals[13] = x14;
  vals[14] = x15;
  vals[15] = x16;
  vals[16] = x17;
  vals[17] = x18;
  vals[18] = x19;
  vals[19] = x20;
  vals[20] = x21;
  vals[21] = x22;
  vals[22] = x23;
  vals[23] = x24;
  return vals;
}
template<typename Precision> inline Vector<24, Precision> makeVector(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24){
  Vector<24, Precision> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  vals[13] = x14;
  vals[14] = x15;
  vals[15] = x16;
  vals[16] = x17;
  vals[17] = x18;
  vals[18] = x19;
  vals[19] = x20;
  vals[20] = x21;
  vals[21] = x22;
  vals[22] = x23;
  vals[23] = x24;
  return vals;
}
inline Vector<25> makeVector(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25){
  Vector<25> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  vals[13] = x14;
  vals[14] = x15;
  vals[15] = x16;
  vals[16] = x17;
  vals[17] = x18;
  vals[18] = x19;
  vals[19] = x20;
  vals[20] = x21;
  vals[21] = x22;
  vals[22] = x23;
  vals[23] = x24;
  vals[24] = x25;
  return vals;
}
template<typename Precision> inline Vector<25, Precision> makeVector(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25){
  Vector<25, Precision> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  vals[13] = x14;
  vals[14] = x15;
  vals[15] = x16;
  vals[16] = x17;
  vals[17] = x18;
  vals[18] = x19;
  vals[19] = x20;
  vals[20] = x21;
  vals[21] = x22;
  vals[22] = x23;
  vals[23] = x24;
  vals[24] = x25;
  return vals;
}
inline Vector<26> makeVector(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26){
  Vector<26> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  vals[13] = x14;
  vals[14] = x15;
  vals[15] = x16;
  vals[16] = x17;
  vals[17] = x18;
  vals[18] = x19;
  vals[19] = x20;
  vals[20] = x21;
  vals[21] = x22;
  vals[22] = x23;
  vals[23] = x24;
  vals[24] = x25;
  vals[25] = x26;
  return vals;
}
template<typename Precision> inline Vector<26, Precision> makeVector(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26){
  Vector<26, Precision> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  vals[13] = x14;
  vals[14] = x15;
  vals[15] = x16;
  vals[16] = x17;
  vals[17] = x18;
  vals[18] = x19;
  vals[19] = x20;
  vals[20] = x21;
  vals[21] = x22;
  vals[22] = x23;
  vals[23] = x24;
  vals[24] = x25;
  vals[25] = x26;
  return vals;
}
inline Vector<27> makeVector(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27){
  Vector<27> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  vals[13] = x14;
  vals[14] = x15;
  vals[15] = x16;
  vals[16] = x17;
  vals[17] = x18;
  vals[18] = x19;
  vals[19] = x20;
  vals[20] = x21;
  vals[21] = x22;
  vals[22] = x23;
  vals[23] = x24;
  vals[24] = x25;
  vals[25] = x26;
  vals[26] = x27;
  return vals;
}
template<typename Precision> inline Vector<27, Precision> makeVector(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27){
  Vector<27, Precision> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  vals[13] = x14;
  vals[14] = x15;
  vals[15] = x16;
  vals[16] = x17;
  vals[17] = x18;
  vals[18] = x19;
  vals[19] = x20;
  vals[20] = x21;
  vals[21] = x22;
  vals[22] = x23;
  vals[23] = x24;
  vals[24] = x25;
  vals[25] = x26;
  vals[26] = x27;
  return vals;
}
inline Vector<28> makeVector(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28){
  Vector<28> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  vals[13] = x14;
  vals[14] = x15;
  vals[15] = x16;
  vals[16] = x17;
  vals[17] = x18;
  vals[18] = x19;
  vals[19] = x20;
  vals[20] = x21;
  vals[21] = x22;
  vals[22] = x23;
  vals[23] = x24;
  vals[24] = x25;
  vals[25] = x26;
  vals[26] = x27;
  vals[27] = x28;
  return vals;
}
template<typename Precision> inline Vector<28, Precision> makeVector(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28){
  Vector<28, Precision> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  vals[13] = x14;
  vals[14] = x15;
  vals[15] = x16;
  vals[16] = x17;
  vals[17] = x18;
  vals[18] = x19;
  vals[19] = x20;
  vals[20] = x21;
  vals[21] = x22;
  vals[22] = x23;
  vals[23] = x24;
  vals[24] = x25;
  vals[25] = x26;
  vals[26] = x27;
  vals[27] = x28;
  return vals;
}
inline Vector<29> makeVector(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29){
  Vector<29> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  vals[13] = x14;
  vals[14] = x15;
  vals[15] = x16;
  vals[16] = x17;
  vals[17] = x18;
  vals[18] = x19;
  vals[19] = x20;
  vals[20] = x21;
  vals[21] = x22;
  vals[22] = x23;
  vals[23] = x24;
  vals[24] = x25;
  vals[25] = x26;
  vals[26] = x27;
  vals[27] = x28;
  vals[28] = x29;
  return vals;
}
template<typename Precision> inline Vector<29, Precision> makeVector(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29){
  Vector<29, Precision> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  vals[13] = x14;
  vals[14] = x15;
  vals[15] = x16;
  vals[16] = x17;
  vals[17] = x18;
  vals[18] = x19;
  vals[19] = x20;
  vals[20] = x21;
  vals[21] = x22;
  vals[22] = x23;
  vals[23] = x24;
  vals[24] = x25;
  vals[25] = x26;
  vals[26] = x27;
  vals[27] = x28;
  vals[28] = x29;
  return vals;
}
inline Vector<30> makeVector(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30){
  Vector<30> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  vals[13] = x14;
  vals[14] = x15;
  vals[15] = x16;
  vals[16] = x17;
  vals[17] = x18;
  vals[18] = x19;
  vals[19] = x20;
  vals[20] = x21;
  vals[21] = x22;
  vals[22] = x23;
  vals[23] = x24;
  vals[24] = x25;
  vals[25] = x26;
  vals[26] = x27;
  vals[27] = x28;
  vals[28] = x29;
  vals[29] = x30;
  return vals;
}
template<typename Precision> inline Vector<30, Precision> makeVector(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30){
  Vector<30, Precision> vals;
  vals[0] = x1;
  vals[1] = x2;
  vals[2] = x3;
  vals[3] = x4;
  vals[4] = x5;
  vals[5] = x6;
  vals[6] = x7;
  vals[7] = x8;
  vals[8] = x9;
  vals[9] = x10;
  vals[10] = x11;
  vals[11] = x12;
  vals[12] = x13;
  vals[13] = x14;
  vals[14] = x15;
  vals[15] = x16;
  vals[16] = x17;
  vals[17] = x18;
  vals[18] = x19;
  vals[19] = x20;
  vals[20] = x21;
  vals[21] = x22;
  vals[22] = x23;
  vals[23] = x24;
  vals[24] = x25;
  vals[25] = x26;
  vals[26] = x27;
  vals[27] = x28;
  vals[28] = x29;
  vals[29] = x30;
  return vals;
}
}
