From Crimson Cat, 1 Week ago, written in Plain Text.
Embed
  1. #include <ctime>
  2. void run_life(int n, int T) {
  3.         clock_t begin = clock();
  4.  
  5.         int* data = new int[(n+2)*(n+2)];
  6.         int* temp = new int[(n+2)*(n+2)];
  7.        
  8.         init(n, data, temp);
  9.        
  10.         for( int t = 0; t < T; t++ ) {
  11.                 setup_boundaries(n, data);
  12.                 update_data(n, data, temp);
  13.                 swap(data, temp);
  14.         }
  15.  
  16.         clock_t end = clock();
  17.     double elapsed_secs = double(end - begin) / CLOCKS_PER_SEC;
  18.         ofstream stat("stat.dat");
  19.         stat << "Time = " << elapsed_secs << ", N = " << n << ", T = " << T << ", P = " << 1;
  20.         stat.close();
  21.  
  22.         ofstream f("output.dat");
  23.         for( int i = 1; i <= n; i++ ) {
  24.                 for( int j = 1; j <= n; j++ )
  25.                         f << data[i * (n+2)+j];
  26.                 f << endl;
  27.         }
  28.  
  29.         f.close();
  30.  
  31.         delete[] data;
  32.         delete[] temp;
  33. }