/** * Macros to create Fortran symbols */ #if defined(F90_SYM_CASE_LOWER) CH_INIT_ #elif defined(F90_SYM_CASE_UPPER) CH_INIT_ #endif /* F90_SYM_CASE */ /** * Macros to create Fortran symbols */ #if defined(F90_SYM_CASE_LOWER) SET_ _ #elif defined(F90_SYM_CASE_UPPER) SET_ _ #endif /* F90_SYM_CASE */ # define F90_SYMBOL( ) # define F90_SYMBOL( ) /** * Pointers to Fortran procedures */ _ CH_INIT_ * Declare Fortran initialization routine void (void); (*PTR_ )( ); /** * Functions to set pointers to Fortran procedures (called from Fortran) */ _ void SET_ ( (*fptr)( )) { PTR_ = fptr; } /** * Bridging functions to call Fortran procedures */ _ subroutine () use call SET_ _ ( ) end subroutine ; _h = strlen( APPEND_F90_COMPILER(createArrayDescAndHidden) ( , F90_Array, & ); APPEND_F90_COMPILER(freeArrayDescAndHidden) ( _dv _h _dvh use ( ) call = = _l ,