Actual source code: petscf90.h

  1: /* $Id: petscf90.h,v 1.3 2000/09/22 18:54:06 balay Exp $ */

 5:  #include petsc.h
  6: PETSC_EXTERN_CXX_BEGIN

  8: #if defined PETSC_HAVE_F90_H
  9: #include PETSC_HAVE_F90_H

 11: /* Check if PETSC_HAVE_F90_C is also specified */
 12: #if !defined(PETSC_HAVE_F90_C)
 13: #error "Both PETSC_HAVE_F90_H and PETSC_HAVE_F90_C flags have to be speficied"
 14: #endif

 16: EXTERN int F90Array1dCreate(void*,PetscDataType,int,int,F90Array1d*);
 17: EXTERN int F90Array1dAccess(F90Array1d*,void**);
 18: EXTERN int F90Array1dDestroy(F90Array1d*);
 19: EXTERN int F90Array1dGetNextRecord(F90Array1d*,void**);

 21: EXTERN int F90Array2dCreate(void*,PetscDataType,int,int,int,int,F90Array2d*);
 22: EXTERN int F90Array2dAccess(F90Array2d*,void**);
 23: EXTERN int F90Array2dDestroy(F90Array2d*);
 24: EXTERN int F90Array2dGetNextRecord(F90Array2d*,void**);

 26: /* 
 27: EXTERN int F90Array1dGetInfo(F90Array1d*,PetscDataType*,int*,int*);
 28: EXTERN int F90Array2dGetInfo(F90Array2d*,PetscDataType*,int*,int*,int*,int*);
 29: */

 31: /*
 32:   F90Array1dCreate - Given a C pointer to a one dimensional
 33:   array and its length; this fills in the appropriate Fortran 90
 34:   pointer data structure.

 36:   Input Parameters:
 37: +   array - regular C pointer (address)
 38: .   type  - DataType of the array
 39: .   start - starting index of the array
 40: -   len   - length of array (in items)

 42:   Output Parameters:
 43: .   ptr - Fortran 90 pointer
 44: */

 46: #endif
 47: PETSC_EXTERN_CXX_END
 48: #endif