Actual source code: f90_solaris.c
1: /*$Id: f90_solaris.c,v 1.8 2001/03/23 23:20:56 balay Exp $*/
3: /*-------------------------------------------------------------*/
7: int F90Array1dCreate(void *array,PetscDataType type,int start,int len,F90Array1d *ptr)
8: {
9: int size,ierr;
14: PetscDataTypeGetSize(type,&size);
15: ptr->addr = array;
16: ptr->extent[0] = len;
17: ptr->mult[0] = size;
18: ptr->lower[0] = start;
19: ptr->addr_d = (void*)((long)array - (ptr->lower[0]*ptr->mult[0]));
20: return(0);
21: }
25: int F90Array2dCreate(void *array,PetscDataType type,int start1,int len1,int start2,int len2,F90Array2d *ptr)
26: {
27: int size,ierr;
32: PetscDataTypeGetSize(type,&size);
33: ptr->addr = array;
34: ptr->extent[0] = len1;
35: ptr->mult[0] = size;
36: ptr->lower[0] = start1;
37: ptr->extent[1] = len2;
38: ptr->mult[1] = len1*size;
39: ptr->lower[1] = start2;
40: ptr->addr_d = (void*)((long)array -(ptr->lower[0]*ptr->mult[0]+ptr->lower[1]*ptr->mult[1]));
41: return(0);
42: }
43: /*-------------------------------------------------------------*/