Function: f2cvv_aux Purpose: Auxiliary routines for the Fortran to C interface programme. Category: SYSTEM File: f2cvv_aux.src Author: K.G. Begeman Use: For the ALLIANT the following functions are provided: A_ALLIANT( ARG ) Input integer (by value) L_ALLIANT( ARG ) Input integer (by value) RETURN_COMPLEX_ALLIANT( FIE ) Input procedure FCALL_VOID_ALLIANT( F1, Input procedure STACK ) Input address FCALL_INT_ALLIANT( F2, Input procedure STACK ) Input address FCALL_BOOL_ALLIANT( F3, Input procedure STACK ) Input address FCALL_FLOAT_ALLIANT( F4, Input procedure STACK ) Input address FCALL_DOUBLE_ALLIANT( F5, Input procedure STACK ) Input address FCALL_COMPLEX_ALLIANT( F6, Input procedure STACK ) Input address ARG Argument number of character argument, 0 indicates a character function FIE Complex C function F1 Fortran subroutine F2 Fortran integer function F3 Fortran logical function F4 Fortran real function F5 Fortran double precision function F6 Fortran complex function STACK Address of argument stack The functions a_alliant and l_alliant return resp. the address and length of a fortran character string in a C procedure. The procedure return_complex_alliant calls a complex C function and returns the results to the Fortran calling procedure. The procedures fcall_*_alliant calls a fortran subroutine/function from a C procedure. For the mips-ultrix and mips_sgi architectures the following functions are provided: RETURN_COMPLEX_MIPS( CCMPLX ) Input C complex FCALL_COMPLEX_MIPS( FCMPLX ) Input F complex CCMPLX Complex C struct, used in C code FCMPLX Fortran complex type, used in Fortran code The procedure return_complex_mips has a C complex as argument and returns the argument to the Fortran calling procedure. The procedure fcall_complex_mips has as argument a Fortran complex/double and returns the C complex type. For the ibm-aix architecture the following functions are provided: RETURN_COMPLEX_AIX( CCMPLX ) Input C complex FCALL_COMPLEX_AIX( FCMPLX ) Input F complex pointer CCMPLX Complex C struct, used in C code FCMPLX Fortran complex type, used in Fortran code The procedure return_complex_aix has a C complex as argument and returns the argument to the Fortran calling procedure. The procedure fcall_complex_aix has as argument a Fortran complex/double and returns the C complex type. For the osf/alpha architecture the following functions are provided: RETURN_COMPLEX_ALPHA( CCMPLX ) Input C complex FCALL_COMPLEX_ALPHA( FCMPLX ) Input F complex pointer CCMPLX Complex C struct, used in C code FCMPLX Fortran complex type, used in Fortran code The procedure return_complex_alpha has a C complex as argument and returns the argument to the Fortran calling procedure. The procedure fcall_complex_alpha has as argument a Fortran complex/double and returns the C complex type. Warning: Only compilable source code for ALLIANT, MIPS ULTRIX, MIPS SGI, IBM AIX and OSF ALPHA are contained in this source file. Relared Docs: f2cvv.dc3 Updates: Jun 5, 1991: KGB Document created. Jun 6, 1991: KGB Interface for IBM AIX implemented. Oct 16, 1991: KGB Interface for Silicon Graphics implemented. Jul 21, 1993: KGB Interface for OSF/Alpha implemented.