Guest User

Untitled

a guest
Jan 29th, 2018
271
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.63 KB | None | 0 0
  1.        auto v_a = std::array<std::array<double, 5>, 5>{{
  2.             { 6.80, -6.05, -0.45,  8.32, -9.67},
  3.             {-2.11, -3.30,  2.58,  2.71, -5.14},
  4.             { 5.66,  5.36, -2.70,  4.35, -7.26},
  5.             { 5.97, -4.44,  0.27, -7.17,  6.08},
  6.             { 8.23,  1.08,  9.04,  2.14, -6.87}
  7.         }};
  8.         auto v_b = std::array<double, 5>
  9.             {4.02,  6.19, -8.22, -7.57, -3.03};
  10.         auto ga = std::array<std::array<double, 5>, 5>{{
  11.             {v_a[0][0], v_a[0][1], v_a[0][2], v_a[0][3], v_a[0][4]},
  12.             {v_a[1][0], v_a[1][1], v_a[1][2], v_a[1][3], v_a[1][4]},
  13.             {v_a[2][0], v_a[2][1], v_a[2][2], v_a[2][3], v_a[2][4]},
  14.             {v_a[3][0], v_a[3][1], v_a[3][2], v_a[3][3], v_a[3][4]},
  15.             {v_a[4][0], v_a[4][1], v_a[4][2], v_a[4][3], v_a[4][4]}
  16.         }};
  17.         auto gb = std::array<double, 5>
  18.             {v_b[0], v_b[1], v_b[2], v_b[3], v_b[4]};
  19.  
  20. void clobber(double value) {
  21.     for(int i=0;i<5;i++) { for(int j=0;j<5;j++)  {ga[i][j]+=value;} gb[i] -= value; }
  22. }
  23.    
  24. int main(int argc, char** argv) {
  25.     int value = argc>1? atoi(argv[1]):0;
  26.     auto sum_x = std::array<double, 5> {0., 0., 0., 0., 0.};
  27.     for(auto i = 0u; i < 1000 * 1000; ++i){
  28.         if(argc>1) clobber(value);
  29.         const auto a = ga;
  30.         const auto b = gb;
  31.         auto x = std::array<double, 5> {};
  32.         linear_equations::semi_static::solve<5>(a, b, x);
  33.              
  34.         for(auto j = 0u; j < 5; ++j)
  35.             sum_x[j] += x[j];
  36.     }
  37.     std::cout << sum_x[0] << ' ' << sum_x[1] << ' '
  38.         << sum_x[2] << ' ' << sum_x[3] << ' ' << sum_x[4] << '\n';
  39.     return 0;
  40. }
Advertisement
Add Comment
Please, Sign In to add comment