#include <omp.h>
#include "dimension.h"
	  void itstep( int mx, int my, void *pf, void *pnewf, double rdx2, double rdy2, double beta )
{
	  DIM2( double, f, my ) = (typeof(f))pf;
	  DIM2( double, newf, my ) = (typeof(newf))pnewf;
	  int i, j, mx1, my1;
/***/
	  mx1 = mx - 1;
	  my1 = my - 1;
#pragma omp parallel for
	  for ( i = 1; i < mx1; i++ )
	   {
	    for ( j = 1; j < my1; j++ )
	     {
	      newf[i][j] = ((f[i-1][j]+f[i+1][j])*rdx2+(f[i][j-1]+f[i][j+1])*rdy2)*beta;
	     }
  	   }
#pragma omp parallel for
          for ( i = 1; i < mx1; i++ )
           {
            for ( j = 1; j < my1; j++ )
             {
              f[i][j] = newf[i][j];
             }
           }
}