Actual source code: ex35.c


  2: static char help[] = "Test VecGetArray4d()\n";

  4: #include <petscvec.h>

  6: int main(int argc,char **argv)
  7: {
  8:   PetscInt       cnt,i,j,k,l,m = 2,n = 3,p = 4,q = 5;
  9:   Vec            x;
 10:   PetscScalar    ****xx;

 12:   PetscInitialize(&argc,&argv,(char*)0,help);
 13:   VecCreateSeq(PETSC_COMM_WORLD,m*n*p*q,&x);
 14:   VecGetArray4d(x,m,n,p,q,0,0,0,0,&xx);
 15:   cnt  = 0;
 16:   for (i=0; i<m; i++)
 17:     for (j=0; j<n; j++)
 18:       for (k=0; k<p; k++)
 19:         for (l=0; l<q; l++)
 20:           xx[i][j][k][l] = cnt++;

 22:   VecRestoreArray4d(x,m,n,p,q,0,0,0,0,&xx);
 23:   VecView(x,PETSC_VIEWER_STDOUT_WORLD);
 24:   VecDestroy(&x);
 25:   PetscFinalize();
 26:   return 0;
 27: }

 29: /*TEST

 31:    test:

 33: TEST*/