// wavefortran.h // // Interfaces for FORTRAN calls // Prototyping for FORTRAN routine readdata #define f_readinput FORTRAN_NAME(readinput_, READINPUT, readinput) extern "C" { void f_readinput(INTEGER *,INTEGER *, DOUBLE *, DOUBLE *, DOUBLE *, DOUBLE *, DOUBLE *, DOUBLE *, DOUBLE *, DOUBLE *, DOUBLE *, INTEGER *, INTEGER *, DOUBLE *); } // Prototyping for FORTRAN routine initial #define f_initial_data FORTRAN_NAME(initial_, INITIAL, initial) extern "C" { void f_initial_data(BI,FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE),FDI(DOUBLE), DOUBLE *, DOUBLE *, DOUBLE *, DOUBLE *, DOUBLE *, DOUBLE *, DOUBLE *, DOUBLE*); } //Prototyping for FORTRAN routine firststep #define f_initstep FORTRAN_NAME(firststep_, FIRSTSTEP, firststep) extern "C" { void f_initstep(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), DOUBLE *, DOUBLE *); } //Prototyping for FORTRAN routine bdyupdt2d #define f_boundary FORTRAN_NAME(bdyupdt2d_, BDYUPDT2D, bdyupdt2d) extern "C" { void f_boundary(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), DOUBLE *, DOUBLE *); } //Prototyping for FORTRAN routine leapfrog2d #define f_leapfrog FORTRAN_NAME(leapfrog2d_, LEAPFROG2D, leapfrog2d) extern "C" { void f_leapfrog(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), DOUBLE *, DOUBLE *); } #define f_restrict_amr FORTRAN_NAME(restrict2d2_, RESTRICT2D2, restrict2d2) extern "C" { void f_restrict_amr (FI(DOUBLE), FI(DOUBLE), BI, DOUBLE, INTEGER); } #define f_prolong_amr FORTRAN_NAME(prolong2d2_, PROLONG2D2, prolong2d2) extern "C" { void f_prolong_amr (FI(DOUBLE), FI(DOUBLE), BI, DOUBLE *, INTEGER *); } #define f_average FORTRAN_NAME(average_, AVERAGE, average) extern "C" { void f_average (BI, FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE)); } #define f_updatephi FORTRAN_NAME(updatephi_, UPDATEPHI, updatephi) extern "C" { void f_updatephi (BI, FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), DOUBLE *, DOUBLE *); } #define f_pythnorm FORTRAN_NAME(pythnorm_, PYTHNORM, pythnorm) extern "C" { void f_pythnorm(BI, FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), FDI(DOUBLE), DOUBLE *, DOUBLE *, DOUBLE *); } #define f_smooth1 FORTRAN_NAME(smooth1_, SMOOTH1, smooth1) extern "C" { void f_smooth1(BI, FDI(DOUBLE), DOUBLE *); } #define f_smooth2 FORTRAN_NAME(smooth2_, SMOOTH2, smooth2) extern "C" { void f_smooth2(BI, FDI(DOUBLE), DOUBLE *); }