/* Fortran Interfaces */ /* Some macros to make my life easier */ #ifndef BBOX_INTERFACE_LONG #define BBOX_INTERFACE_LONG int const *, int const *, \ int const *, int const *, int const * #endif #ifndef BBOX_INTERFACE #define BBOX_INTERFACE int const *, int const *, int const * #endif #ifndef FORTRAN_INTERFACE #define FORTRAN_INTERFACE(T) T *, int const *, int const *, \ int const * #endif #ifndef FORTRAN_DATA_INTERFACE #define FORTRAN_DATA_INTERFACE(T) T * #endif #define BI BBOX_INTERFACE #define BIL BBOX_INTERFACE_LONG #define FI FORTRAN_INTERFACE #define FDI FORTRAN_DATA_INTERFACE #define f_input FORTRAN_NAME(input_, INPUT, input) extern "C" { void f_input(INTEGER *, INTEGER *, INTEGER *,INTEGER *, INTEGER *, DOUBLE *, DOUBLE *,DOUBLE *,DOUBLE *,DOUBLE *, DOUBLE *, INTEGER *, INTEGER *, DOUBLE *, FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE), DOUBLE *); } #define f_initdata FORTRAN_NAME(t2_initdata, t2_INITDATA, t2_initdata) extern "C" { void f_initdata(BI,FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),DOUBLE *, BI,FDI(DOUBLE),FDI(DOUBLE), DOUBLE *, DOUBLE *,DOUBLE *,DOUBLE *); } #define f_horizon FORTRAN_NAME(t2_horizon, t2_HORIZON,t2_horizon) extern "C" { void f_horizon( BI,FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), DOUBLE *, BI,FDI(DOUBLE), FDI(DOUBLE), DOUBLE *, DOUBLE *,DOUBLE *,DOUBLE *); } #define f_remask FORTRAN_NAME(t2_remask, t2_REMASK,t2_remask) extern "C" { void f_remask( BI,FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE)); } #define f_inverse FORTRAN_NAME(t2_inverse, t2_INVERSE,t2_inverse) extern "C" { void f_inverse( BI,FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE)); } #define f_flags FORTRAN_NAME(t2_flags, t2_FLAGS,t2_flags) extern "C" { void f_flags( BI, INTEGER const *, INTEGER *, INTEGER *, INTEGER *, DOUBLE *, DOUBLE *, DOUBLE *, FDI(DOUBLE), BI, FDI(INTEGER),FDI(DOUBLE), INTEGER * ); } #define f_setgauge FORTRAN_NAME(t2_setgauge, t2_SETGAUGE,t2_setgauge) extern "C" { void f_setgauge( BI,FDI(DOUBLE),DOUBLE *, BI,FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), DOUBLE *, DOUBLE *, DOUBLE *, DOUBLE *); } #define f_timestep FORTRAN_NAME(timestep, TIMESTEP,timestep) extern "C" { void f_timestep( DOUBLE *, DOUBLE *, DOUBLE *, DOUBLE * ); } #define f_connect FORTRAN_NAME(t2_connect, t2_CONNECT,t2_connect) extern "C" { void f_connect( BI, FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), DOUBLE *, INTEGER *, BI, FDI(INTEGER),FDI(DOUBLE) ); } #define f_riccidd FORTRAN_NAME(t2_riccidd, t2_RICCIDD,t2_riccidd) extern "C" { void f_riccidd( BI, FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), DOUBLE *, INTEGER *, BI, FDI(INTEGER),FDI(DOUBLE)); } #define f_constraint FORTRAN_NAME(t2_constraint, t2_CONSTRAINT,t2_constraint) extern "C" { void f_constraint( BI, FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), DOUBLE *,DOUBLE *, DOUBLE *,DOUBLE *, FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),DOUBLE *, INTEGER *, BI, FDI(INTEGER),FDI(DOUBLE)); } #define f_evolve_g FORTRAN_NAME(t2_evolve_g, t2_EVOLVE_G,t2_evolve_g) extern "C" { void f_evolve_g( BI,FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), DOUBLE *, DOUBLE *, INTEGER *, BI,FDI(INTEGER),FDI(DOUBLE)); } #define f_evolve_ka FORTRAN_NAME(t2_evolve_ka, t2_EVOLVE_KA,t2_evolve_ka) extern "C" { void f_evolve_ka( BI,FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), DOUBLE *, DOUBLE *, INTEGER *, BI, FDI(INTEGER),FDI(DOUBLE)); } #define f_evolve_kb FORTRAN_NAME(t2_evolve_kb, t2_EVOLVE_KB,t2_evolve_kb) extern "C" { void f_evolve_kb( BI,FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), DOUBLE *, DOUBLE *, INTEGER *, BI, FDI(INTEGER),FDI(DOUBLE)); } #define f_linearwave FORTRAN_NAME(t2_linearwave, T2_LINEARWAVE,t2_linearwave) extern "C" { void f_linearwave(BI, FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), DOUBLE *, DOUBLE *, DOUBLE *, DOUBLE *, DOUBLE *, DOUBLE *); }