Actual source code: ex35.c
1: /*
2: Test VecGetArray4d()
3: */
5: #include petscvec.h
9: int main(int argc,char **argv)
10: {
12: PetscInt cnt,i,j,k,l,m = 2,n = 3,p = 4,q = 5;
13: Vec x;
14: PetscScalar ****xx;
16: PetscInitialize(&argc,&argv,(char *)0,0);
17: VecCreateSeq(PETSC_COMM_WORLD,m*n*p*q,&x);
18: VecGetArray4d(x,m,n,p,q,0,0,0,0,&xx);
19: cnt = 0;
20: for (i=0; i<m; i++) {
21: for (j=0; j<n; j++) {
22: for (k=0; k<p; k++) {
23: for (l=0; l<q; l++) {
24: xx[i][j][k][l] = cnt++;
25: }
26: }
27: }
28: }
29: VecRestoreArray4d(x,m,n,p,q,0,0,0,0,&xx);
30: VecView(x,PETSC_VIEWER_STDOUT_WORLD);
31: VecDestroy(x);
32: PetscFinalize();
33: return 0;
34: }
35: