Actual source code: f90_intel8.c
2: /*-------------------------------------------------------------*/
6: PetscErrorCode F90Array1dCreate(void *array,PetscDataType type,PetscInt start,PetscInt len,F90Array1d *ptr)
7: {
9: PetscInt size;
14: PetscDataTypeGetSize(type,&size);
15: ptr->addr = array;
16: ptr->sd = size;
17: ptr->ndim = 1;
18: ptr->a = F90_COOKIE7;
19: ptr->b = F90_COOKIE0;
20: ptr->dim[0].extent = len;
21: ptr->dim[0].mult = size;
22: ptr->dim[0].lower = start;
23: ptr->sum_d = -(ptr->dim[0].lower*ptr->dim[0].mult);
24: return(0);
25: }
29: PetscErrorCode F90Array2dCreate(void *array,PetscDataType type,PetscInt start1,PetscInt len1,PetscInt start2,PetscInt len2,F90Array2d *ptr)
30: {
32: PetscInt size;
37: PetscDataTypeGetSize(type,&size);
38: ptr->addr = array;
39: ptr->sd = size;
40: ptr->ndim = 2;
41: ptr->a = F90_COOKIE7;
42: ptr->b = F90_COOKIE0;
43: ptr->dim[0].extent = len1;
44: ptr->dim[0].mult = size;
45: ptr->dim[0].lower = start1;
46: ptr->dim[1].extent = len2;
47: ptr->dim[1].mult = len1*size;
48: ptr->dim[1].lower = start2;
49: ptr->sum_d = -(ptr->dim[0].lower*ptr->dim[0].mult+ptr->dim[1].lower*ptr->dim[1].mult);
50: return(0);
51: }
52: /*-------------------------------------------------------------*/