[PATCH] Fix compiling Doof2d

Jeffrey D. Oldham oldham at codesourcery.com
Mon Aug 23 15:45:37 UTC 2004


Richard Guenther wrote:

> Fixes ISO conformance problems with Doof2d benchmark.
>
> Ok?
>
> Richard.
>
>
> 2004Aug22  Richard Guenther <richard.guenther at uni-tuebingen.de>
>
>     * benchmarks/Doof2d/Doof2d.h: fix ISO conformance.

Thanks for fixing this.  Please commit the changes.

I like Doof2D.  It's relatively simple but still interesting.  It's good 
to have it work again.

>------------------------------------------------------------------------
>
>--- pooma-bk/r2/benchmarks/Doof2d/Doof2d.h	2003-11-23 23:19:54.000000000 +0100
>+++ pooma-bib/r2/benchmarks/Doof2d/Doof2d.h	2004-08-22 00:00:48.000000000 +0200
>@@ -346,7 +346,7 @@
>   const char* qualification() const
>   {
>     typedef typename Store::Engine_t Engine_t;
>-    return ::qualification(a_m).c_str();
>+    return ::qualification(this->a_m).c_str();
>   }
> 
>   void run() 
>@@ -367,27 +367,27 @@
>       {
> 	for (i = 2; i <= this->n_m - 1; i++) 
> 	{
>-	  a_m(i,j) = fact *
>-	    (b_m(i+1,j+1) + b_m(i+1,j  ) + b_m(i+1,j-1) +
>-	     b_m(i  ,j+1) + b_m(i  ,j  ) + b_m(i  ,j-1) +
>-	     b_m(i-1,j+1) + b_m(i-1,j  ) + b_m(i-1,j-1));
>+	  this->a_m(i,j) = fact *
>+	    (this->b_m(i+1,j+1) + this->b_m(i+1,j  ) + this->b_m(i+1,j-1) +
>+	     this->b_m(i  ,j+1) + this->b_m(i  ,j  ) + this->b_m(i  ,j-1) +
>+	     this->b_m(i-1,j+1) + this->b_m(i-1,j  ) + this->b_m(i-1,j-1));
> 	}
>       }
>       for (j = 2; j <= this->n_m-1; j++) 
>       {
>         for (i = 2; i <= this->n_m-1; i++) 
> 	{
>-	  b_m(i,j) = fact *
>-	    (a_m(i+1,j+1) + a_m(i+1,j  ) + a_m(i+1,j-1) +
>-	     a_m(i  ,j+1) + a_m(i  ,j  ) + a_m(i  ,j-1) +
>-	     a_m(i-1,j+1) + a_m(i-1,j  ) + a_m(i-1,j-1));
>+	  this->b_m(i,j) = fact *
>+	    (this->a_m(i+1,j+1) + this->a_m(i+1,j  ) + this->a_m(i+1,j-1) +
>+	     this->a_m(i  ,j+1) + this->a_m(i  ,j  ) + this->a_m(i  ,j-1) +
>+	     this->a_m(i-1,j+1) + this->a_m(i-1,j  ) + this->a_m(i-1,j-1));
> 	}
>       }
>     }
>      
>     // Save result for checking.
>     
>-    this->check_m = b_m(this->n_m / 2, this->n_m / 2);
>+    this->check_m = this->b_m(this->n_m / 2, this->n_m / 2);
>   }
> 
>   void runSetup()
>@@ -398,11 +398,11 @@
>     {
>       for (int i = 1; i <= this->n_m; i++) 
>       {
>-	a_m(i,j) = 0.0;
>-	b_m(i,j) = 0.0;
>+	this->a_m(i,j) = 0.0;
>+	this->b_m(i,j) = 0.0;
>       }
>     }
>-    b_m(this->n_m/2,this->n_m/2) = 1000.0;
>+    this->b_m(this->n_m/2,this->n_m/2) = 1000.0;
>   }
> };
> 
>@@ -431,7 +431,7 @@
>   {
>     typedef typename Store::Engine_t Engine_t;
> 
>-    std::string qual = ::qualification(a_m);
>+    std::string qual = ::qualification(this->a_m);
> 
>     if (guarded_m)
>     {
>@@ -458,31 +458,31 @@
>     
>     for (k = 0; k < 5; ++k)
>     {
>-      a_m(I,J) = fact *
>-	(b_m(I+1,J+1) + b_m(I+1,J  ) + b_m(I+1,J-1) +
>-	 b_m(I  ,J+1) + b_m(I  ,J  ) + b_m(I  ,J-1) +
>-	 b_m(I-1,J+1) + b_m(I-1,J  ) + b_m(I-1,J-1));
>-      b_m(I,J) = fact *
>-	(a_m(I+1,J+1) + a_m(I+1,J  ) + a_m(I+1,J-1) +
>-	 a_m(I  ,J+1) + a_m(I  ,J  ) + a_m(I  ,J-1) +
>-	 a_m(I-1,J+1) + a_m(I-1,J  ) + a_m(I-1,J-1));
>+      this->a_m(this->I,this->J) = fact *
>+	(this->b_m(this->I+1,this->J+1) + this->b_m(this->I+1,this->J  ) + this->b_m(this->I+1,this->J-1) +
>+	 this->b_m(this->I  ,this->J+1) + this->b_m(this->I  ,this->J  ) + this->b_m(this->I  ,this->J-1) +
>+	 this->b_m(this->I-1,this->J+1) + this->b_m(this->I-1,this->J  ) + this->b_m(this->I-1,this->J-1));
>+      this->b_m(this->I,this->J) = fact *
>+	(this->a_m(this->I+1,this->J+1) + this->a_m(this->I+1,this->J  ) + this->a_m(this->I+1,this->J-1) +
>+	 this->a_m(this->I  ,this->J+1) + this->a_m(this->I  ,this->J  ) + this->a_m(this->I  ,this->J-1) +
>+	 this->a_m(this->I-1,this->J+1) + this->a_m(this->I-1,this->J  ) + this->a_m(this->I-1,this->J-1));
>     }
> 
>     Pooma::blockAndEvaluate();
> 
>     // Save result for checking.
>     
>-    this->check_m = b_m(this->n_m / 2, this->n_m / 2);
>+    this->check_m = this->b_m(this->n_m / 2, this->n_m / 2);
>   }
> 
>   void runSetup()
>   {
>     // Run setup.
>     
>-    a_m = 0.0;
>-    b_m = 0.0;
>+    this->a_m = 0.0;
>+    this->b_m = 0.0;
>     Pooma::blockAndEvaluate();
>-    b_m(this->n_m/2,this->n_m/2) = 1000.0;
>+    this->b_m(this->n_m/2,this->n_m/2) = 1000.0;
>   }
> 
> private:
>@@ -535,7 +535,7 @@
>   const char* qualification() const
>   {
>     typedef typename Store::Engine_t Engine_t;
>-    std::string qual = ::qualification(a_m);
>+    std::string qual = ::qualification(this->a_m);
> 
>     if (guarded_m)
>     {
>@@ -551,7 +551,7 @@
>   void run() 
>   {
>     int k;
>-    Interval<2> IJ(I,J);
>+    Interval<2> IJ(this->I,this->J);
> 
>     // Run setup.
>     
>@@ -561,30 +561,30 @@
>     
>     for (k = 0; k < 5; ++k)
>     {
>-      a_m(IJ) = stencil_m(b_m,IJ);
>+      this->a_m(IJ) = stencil_m(this->b_m,IJ);
> 
>       // Note we use this form of the stencil since adding guard cells can
>       // add external guard cells so the domain of a_m might be bigger than
>       // we expect, in which case stencil_m(a_m) would be bigger than IJ.
> 
>-      b_m(IJ) = stencil_m(a_m,IJ);
>+      this->b_m(IJ) = stencil_m(this->a_m,IJ);
>     }
> 
>     Pooma::blockAndEvaluate();
> 
>     // Save result for checking.
>     
>-    this->check_m = b_m(this->n_m / 2, this->n_m / 2);
>+    this->check_m = this->b_m(this->n_m / 2, this->n_m / 2);
>   }
> 
>   void runSetup()
>   {
>     // Run setup.
>     
>-    a_m = 0.0;
>-    b_m = 0.0;
>+    this->a_m = 0.0;
>+    this->b_m = 0.0;
>     Pooma::blockAndEvaluate();
>-    b_m(this->n_m/2,this->n_m/2) = 1000.0;
>+    this->b_m(this->n_m/2,this->n_m/2) = 1000.0;
> 
>   }
> 
>  
>


-- 
Jeffrey D. Oldham
oldham at codesourcery.com




More information about the pooma-dev mailing list