Actual source code: ex10.c
1: /*$Id: ex10.c,v 1.13 2001/03/23 23:20:59 balay Exp $*/
3: /*
4: Tests PetscMemmove()
5: */
7: #include petsc.h
11: int main(int argc,char **argv)
12: {
13: int i,*a,*b,ierr;
14: PetscInitialize(&argc,&argv,(char *)0,0);
16: PetscMalloc(10*sizeof(int),&a);
17: PetscMalloc(20*sizeof(int),&b);
19: /*
20: Nonoverlapping regions
21: */
22: for (i=0; i<20; i++) b[i] = i;
23: PetscMemmove(a,b,10*sizeof(int));
24: PetscIntView(10,a,0);
26: PetscFree(a);
28: /*
29: | | | |
30: b a b+15 b+20
31: a+10 a+15
32: */
33: a = b + 5;
34: PetscMemmove(a,b,15*sizeof(int));
35: PetscIntView(15,a,0);
36: PetscFree(b);
38: /*
39: | | | |
40: a b a+20 a+25
41: b+20
42: */
43: PetscMalloc(25*sizeof(int),&a);
44: b = a + 5;
45: for (i=0; i<20; i++) b[i] = i;
46: PetscMemmove(a,b,20*sizeof(int));
47: PetscIntView(20,a,0);
48: PetscFree(a);
50: PetscFinalize();
51: return 0;
52: }
53: