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: /*-------------------------------------------------------------*/