Actual source code: ex35.c
petsc-3.13.4 2020-08-01
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*/