Actual source code: ex35.c

petsc-3.12.2 2019-11-22
Report Typos and Errors

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

  4:  #include <petscvec.h>

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

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

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



 32: /*TEST

 34:    test:

 36: TEST*/