[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Продавленный стек



Пожалуйста,

 09/11/2014 11:13:02 PM, Dmitrii Kashin:
> Николай, раз уж такое дело, можно работающий вариант попросить патчем?
> =)


 
diff -Naur master/Makefile master-tr/Makefile
--- master/Makefile	2014-09-11 13:42:39.000000000 +0400
+++ master-tr/Makefile	2014-09-12 08:36:47.985330799 +0400
@@ -1,5 +1,5 @@
 CXX=g++
-CFLAGS=-Wall -g -ggdb
+CFLAGS=-Wall -g -ggdb -O2
 LDFLAGS=-lm
 SOURCES=main.cxx variables.cxx cell.cxx grid.cxx solver.cxx timestep_constant.cxx march.cxx
 STASH=grid-init.o
diff -Naur master/march.cxx master-tr/march.cxx
--- master/march.cxx	2014-09-11 13:42:39.000000000 +0400
+++ master-tr/march.cxx	2014-09-11 15:16:50.204903767 +0400
@@ -4,8 +4,8 @@
 #include "solver.h"
 #include "march-config.h"
 
-void
-march (Grid1D grid)
+int
+march (const Grid1D & grid)
 {
   int finFlag = 0;
   int printFlag = 0;
@@ -59,12 +59,19 @@
     printGridToFile(grid);
 
 
+  static Grid1D newgrid;
+  
   // Ñ?аг
   if (!finFlag)
     {
       printf("Making iteration %06d; Passed time: %f\n", grid.iter+1, grid.time);
-      Grid1D newgrid = make_step(grid, tau);
-      march(newgrid);
-    };
+      newgrid = make_step(grid, tau);
+      return march(newgrid);
+    }
+    else
+    {
+      return 0;
+    }
+  
 }
 
diff -Naur master/march.h master-tr/march.h
--- master/march.h	2014-09-11 13:42:39.000000000 +0400
+++ master-tr/march.h	2014-09-11 15:00:18.642406733 +0400
@@ -3,6 +3,6 @@
 #ifndef MARCH
 #define MARCH
 
-void march (Grid1D grid);
+int march (const Grid1D & grid);
 
 #endif //MARCH

Reply to: