From 8a3fd1c16ff51bdcb96f8434d1cc2bcfcbf4f770 Mon Sep 17 00:00:00 2001 From: schnetter Date: Sat, 16 Apr 2005 15:30:37 +0000 Subject: Add more Fortran interfaces git-svn-id: http://svn.cactuscode.org/arrangements/CactusBase/Fortran/trunk@27 51d2df92-0e4f-0410-a727-bd43d766d6b6 --- src/cctk.F90 | 8 +++ src/cctk_Reduction.F90 | 21 +++++--- src/cctk_Schedule.F90 | 33 +++++++++++++ src/cctk_Stagger.F90 | 78 +++++++++++++++++++++++++++++ src/cctk_Sync.F90 | 50 +++++++++++++++++++ src/cctk_Termination.F90 | 33 +++++++++++++ src/cctk_Timers.F90 | 124 +++++++++++++++++++++++++++++++++++++++++++++++ src/cctk_Types.F90 | 21 ++++++++ src/cctk_Version.F90 | 75 ++++++++++++++++++++++++++++ src/cctk_WarnLevel.F90 | 46 ++++++++++++++++++ src/make.code.defn | 8 +++ 11 files changed, 490 insertions(+), 7 deletions(-) create mode 100644 src/cctk_Schedule.F90 create mode 100644 src/cctk_Stagger.F90 create mode 100644 src/cctk_Sync.F90 create mode 100644 src/cctk_Termination.F90 create mode 100644 src/cctk_Timers.F90 create mode 100644 src/cctk_Types.F90 create mode 100644 src/cctk_Version.F90 create mode 100644 src/cctk_WarnLevel.F90 diff --git a/src/cctk.F90 b/src/cctk.F90 index dd16a9b..b152609 100644 --- a/src/cctk.F90 +++ b/src/cctk.F90 @@ -39,5 +39,13 @@ module cctk use cctk_ParamCheck use cctk_Parameter use cctk_Reduction + use cctk_Schedule + use cctk_Stagger + use cctk_Sync + use cctk_Termination + use cctk_Timers + use cctk_Types + use cctk_Version + use cctk_WarnLevel implicit none end module cctk diff --git a/src/cctk_Reduction.F90 b/src/cctk_Reduction.F90 index 5b90071..ef5c4e6 100644 --- a/src/cctk_Reduction.F90 +++ b/src/cctk_Reduction.F90 @@ -13,9 +13,9 @@ module cctk_Reduction implicit none - + interface - + subroutine CCTK_ReductionHandle (ierr, reduction) implicit none integer ierr @@ -28,15 +28,18 @@ module cctk_Reduction character(*) reduction end subroutine CCTK_ReductionArrayHandle - subroutine CCTK_ReduceOperatorImplementation (implementation, handle) + subroutine CCTK_ReduceOperatorImplementation & + (implementation, implementation_length, handle) implicit none character(*) implementation + integer implementation_length integer handle end subroutine CCTK_ReduceOperatorImplementation - subroutine CCTK_ReduceOperator (operator, handle) + subroutine CCTK_ReduceOperator (operator, operator_length, handle) implicit none character(*) operator + integer operator_length integer handle end subroutine CCTK_ReduceOperator @@ -77,15 +80,18 @@ module cctk_Reduction end subroutine CCTK_LocalArrayReductionHandle subroutine CCTK_LocalArrayReduceOperatorImplementation & - (implementation, handle) + (implementation, implementation_length, handle) implicit none character(*) implementation + integer implementation_length integer handle end subroutine CCTK_LocalArrayReduceOperatorImplementation - subroutine CCTK_LocalArrayReduceOperator (operator, handle) + subroutine CCTK_LocalArrayReduceOperator & + (operator, operator_length, handle) implicit none character(*) operator + integer operator_length integer handle end subroutine CCTK_LocalArrayReduceOperator @@ -116,9 +122,10 @@ module cctk_Reduction CCTK_POINTER output_values(M_output_values) end subroutine CCTK_ReduceGridArrays - subroutine CCTK_GridArrayReductionOperator (operator) + subroutine CCTK_GridArrayReductionOperator (operator, operator_length) implicit none character(*) operator + integer operator_length end subroutine CCTK_GridArrayReductionOperator subroutine CCTK_NumGridArrayReductionOperators (num_operators) diff --git a/src/cctk_Schedule.F90 b/src/cctk_Schedule.F90 new file mode 100644 index 0000000..67d12fb --- /dev/null +++ b/src/cctk_Schedule.F90 @@ -0,0 +1,33 @@ +/*@@ + @file $RCSfile$ + @author $Author$ + @date $Date$ + @desc + Fortran 90 interface declarations for the routines + which have their C declarations in cctk_Schedule.h + @enddesc + @version $Header$ +@@*/ + +#include "cctk.h" + +module cctk_Schedule + implicit none + + interface + + subroutine CCTK_SchedulePrint (ierr, where) + implicit none + integer ierr + character(*) where + end subroutine CCTK_SchedulePrint + + subroutine CCTK_SchedulePrintTimes (ierr, where) + implicit none + integer ierr + character(*) where + end subroutine CCTK_SchedulePrintTimes + + end interface + +end module cctk_Schedule diff --git a/src/cctk_Stagger.F90 b/src/cctk_Stagger.F90 new file mode 100644 index 0000000..226e719 --- /dev/null +++ b/src/cctk_Stagger.F90 @@ -0,0 +1,78 @@ +/*@@ + @file $RCSfile$ + @author $Author$ + @date $Date$ + @desc + Fortran 90 interface declarations for the routines + which have their C declarations in cctk_Stagger.h + @enddesc + @version $Header$ +@@*/ + +#include "cctk.h" + +module cctk_Stagger + implicit none + + interface + + subroutine CCTK_GroupStaggerIndexGI (sindex, gindex) + implicit none + integer sindex + integer gindex + end subroutine CCTK_GroupStaggerIndexGI + + subroutine CCTK_GroupStaggerIndexGN (sindex, gname) + implicit none + integer sindex + character(*) gname + end subroutine CCTK_GroupStaggerIndexGN + + subroutine CCTK_StaggerIndex (sindex, stype) + implicit none + integer sindex + character(*) stype + end subroutine CCTK_StaggerIndex + + subroutine CCTK_StaggerDirIndex (dindex, dir, scode) + implicit none + integer dindex + integer dir + integer scode + end subroutine CCTK_StaggerDirIndex + + subroutine CCTK_StaggerDirArray (ierr, dindex, dir, sindex) + implicit none + integer ierr + integer dindex(*) + integer dir + integer sindex + end subroutine CCTK_StaggerDirArray + + subroutine CCTK_GroupStaggerDirArrayGI (ierr, dindex, dir, gi) + implicit none + integer ierr + integer dindex(*) + integer dir + integer gi + end subroutine CCTK_GroupStaggerDirArrayGI + + subroutine CCTK_StaggerDirName (scode, dir, stype) + implicit none + integer scode + integer dir + character(*) stype + end subroutine CCTK_StaggerDirName + + subroutine CCTKi_ParseStaggerString (scode, dim, imp, gname, stype) + implicit none + integer scode + integer dim + character(*) imp + character(*) gname + integer stype + end subroutine CCTKi_ParseStaggerString + + end interface + +end module cctk_Stagger diff --git a/src/cctk_Sync.F90 b/src/cctk_Sync.F90 new file mode 100644 index 0000000..d4ed01c --- /dev/null +++ b/src/cctk_Sync.F90 @@ -0,0 +1,50 @@ +/*@@ + @file $RCSfile$ + @author $Author$ + @date $Date$ + @desc + Fortran 90 interface declarations for the routines + which have their C declarations in cctk_Sync.h + @enddesc + @version $Header$ +@@*/ + +#include "cctk.h" + +module cctk_Sync + implicit none + + interface + + subroutine CCTK_SyncGroupI (ierr, cctkGH, group) + implicit none + integer ierr + CCTK_POINTER_TO_CONST cctkGH + integer group + end subroutine CCTK_SyncGroupI + + subroutine CCTK_SyncGroupWithVar (ierr, cctkGH, varname) + implicit none + integer ierr + CCTK_POINTER_TO_CONST cctkGH + character(*) varname + end subroutine CCTK_SyncGroupWithVar + + subroutine CCTK_SyncGroupWithVarI (ierr, cctkGH, var) + implicit none + integer ierr + CCTK_POINTER_TO_CONST cctkGH + integer var + end subroutine CCTK_SyncGroupWithVarI + + subroutine CCTK_SyncGroups (ierr, cctkGH, n_groups, groups) + implicit none + integer ierr + CCTK_POINTER_TO_CONST cctkGH + integer n_groups + integer groups(n_groups) + end subroutine CCTK_SyncGroups + + end interface + +end module cctk_Sync diff --git a/src/cctk_Termination.F90 b/src/cctk_Termination.F90 new file mode 100644 index 0000000..66d5de5 --- /dev/null +++ b/src/cctk_Termination.F90 @@ -0,0 +1,33 @@ +/*@@ + @file $RCSfile$ + @author $Author$ + @date $Date$ + @desc + Fortran 90 interface declarations for the routines + which have their C declarations in cctk_Termination.h + @enddesc + @version $Header$ +@@*/ + +#include "cctk.h" + +module cctk_Termination + implicit none + + interface + + subroutine CCTK_TerminationReached (ires, cctkGH) + implicit none + integer ires + CCTK_POINTER_TO_CONST cctkGH + end subroutine CCTK_TerminationReached + + subroutine CCTK_TerminateNext (ierr, cctkGH) + implicit none + integer ierr + CCTK_POINTER_TO_CONST cctkGH + end subroutine CCTK_TerminateNext + + end interface + +end module cctk_Termination diff --git a/src/cctk_Timers.F90 b/src/cctk_Timers.F90 new file mode 100644 index 0000000..9e52cf1 --- /dev/null +++ b/src/cctk_Timers.F90 @@ -0,0 +1,124 @@ +/*@@ + @file $RCSfile$ + @author $Author$ + @date $Date$ + @desc + Fortran 90 interface declarations for the routines + which have their C declarations in cctk_Timers.h + @enddesc + @version $Header$ +@@*/ + +#include "cctk.h" + +module cctk_Timers + implicit none + + interface + + subroutine CCTK_NumTimers (num_timers) + implicit none + integer num_timers + end subroutine CCTK_NumTimers + + subroutine CCTK_NumClocks (num_clocks) + implicit none + integer num_clocks + end subroutine CCTK_NumClocks + + subroutine CCTK_TimerName (timer_name, timer_length, timer_handle) + implicit none + character(*) timer_name + integer timer_length + integer timer_handle + end subroutine CCTK_TimerName + + subroutine CCTK_ClockName (clock_name, clock_length, clock_handle) + implicit none + character(*) clock_name + integer clock_length + integer clock_handle + end subroutine CCTK_ClockName + + subroutine CCTK_ClockHandle (handle, nclock) + implicit none + integer handle + character(*) nclock + end subroutine CCTK_ClockHandle + + subroutine CCTK_TimerCreate (handle, name) + implicit none + integer handle + character(*) name + end subroutine CCTK_TimerCreate + + subroutine CCTK_TimerCreateI (handle) + implicit none + integer handle + end subroutine CCTK_TimerCreateI + + subroutine CCTK_TimerDestroy (ierr, name) + implicit none + integer ierr + character(*) name + end subroutine CCTK_TimerDestroy + + subroutine CCTK_TimerDestroyI (ierr, handle) + implicit none + integer ierr + integer handle + end subroutine CCTK_TimerDestroyI + + subroutine CCTK_TimerStart (ierr, name) + implicit none + integer ierr + character(*) name + end subroutine CCTK_TimerStart + + subroutine CCTK_TimerStartI (ierr, handle) + implicit none + integer ierr + integer handle + end subroutine CCTK_TimerStartI + + subroutine CCTK_TimerStop (ierr, name) + implicit none + integer ierr + character(*) name + end subroutine CCTK_TimerStop + + subroutine CCTK_TimerStopI (ierr, handle) + implicit none + integer ierr + integer handle + end subroutine CCTK_TimerStopI + + subroutine CCTK_TimerReset (ierr, name) + implicit none + integer ierr + character(*) name + end subroutine CCTK_TimerReset + + subroutine CCTK_TimerResetI (ierr, handle) + implicit none + integer ierr + integer handle + end subroutine CCTK_TimerResetI + + subroutine CCTK_TimerPrintData (ierr, name, nclock) + implicit none + integer ierr + character(*) name + character(*) nclock + end subroutine CCTK_TimerPrintData + + subroutine CCTK_TimerPrintDataI (ierr, handle, nclock) + implicit none + integer ierr + integer handle + character(*) nclock + end subroutine CCTK_TimerPrintDataI + + end interface + +end module cctk_Timers diff --git a/src/cctk_Types.F90 b/src/cctk_Types.F90 new file mode 100644 index 0000000..57aa5e4 --- /dev/null +++ b/src/cctk_Types.F90 @@ -0,0 +1,21 @@ +/*@@ + @file $RCSfile$ + @author $Author$ + @date $Date$ + @desc + Fortran 90 interface declarations for the routines + which have their C declarations in cctk_Types.h + @enddesc + @version $Header$ +@@*/ + +#include "cctk.h" + +module cctk_Types + implicit none + + interface + + end interface + +end module cctk_Types diff --git a/src/cctk_Version.F90 b/src/cctk_Version.F90 new file mode 100644 index 0000000..0bf7b74 --- /dev/null +++ b/src/cctk_Version.F90 @@ -0,0 +1,75 @@ +/*@@ + @file $RCSfile$ + @author $Author$ + @date $Date$ + @desc + Fortran 90 interface declarations for the routines + which have their C declarations in cctk_Version.h + @enddesc + @version $Header$ +@@*/ + +#include "cctk.h" + +module cctk_Version + implicit none + + interface + + subroutine CCTK_FullVersion (string, string_length) + implicit none + character(*) string + integer string_length + end subroutine CCTK_FullVersion + + subroutine CCTK_MajorVersion (string, string_length) + implicit none + character(*) string + integer string_length + end subroutine CCTK_MajorVersion + + subroutine CCTK_MinorVersion (string, string_length) + implicit none + character(*) string + integer string_length + end subroutine CCTK_MinorVersion + + subroutine CCTK_MicroVersion (string, string_length) + implicit none + character(*) string + integer string_length + end subroutine CCTK_MicroVersion + + subroutine CCTKi_DateStamp (string, string_length) + implicit none + character(*) string + integer string_length + end subroutine CCTKi_DateStamp + + subroutine CCTK_CompileTime (string, string_length) + implicit none + character(*) string + integer string_length + end subroutine CCTK_CompileTime + + subroutine CCTKi_CompileDate (string, string_length) + implicit none + character(*) string + integer string_length + end subroutine CCTKi_CompileDate + + subroutine CCTKi_CompileUser (string, string_length) + implicit none + character(*) string + integer string_length + end subroutine CCTKi_CompileUser + + subroutine CCTKi_RunUser (string, string_length) + implicit none + character(*) string + integer string_length + end subroutine CCTKi_RunUser + + end interface + +end module cctk_Version diff --git a/src/cctk_WarnLevel.F90 b/src/cctk_WarnLevel.F90 new file mode 100644 index 0000000..80aab16 --- /dev/null +++ b/src/cctk_WarnLevel.F90 @@ -0,0 +1,46 @@ +/*@@ + @file $RCSfile$ + @author $Author$ + @date $Date$ + @desc + Fortran 90 interface declarations for the routines + which have their C declarations in cctk_WarnLevel.h + @enddesc + @version $Header$ +@@*/ + +#include "cctk.h" + +module cctk_WarnLevel + implicit none + + interface + + subroutine CCTK_Warn (level, line, file, thorn, message) + implicit none + integer level + integer line + character(*) file + character(*) thorn + character(*) message + end subroutine CCTK_Warn + + subroutine CCTK_ParamWarn (thorn, message) + implicit none + character(*) thorn + character(*) message + end subroutine CCTK_ParamWarn + + subroutine CCTK_Info (thorn, message) + implicit none + character(*) thorn + character(*) message + end subroutine CCTK_Info + + end interface + + external CCTK_VWarn + external CCTK_VParamWarn + external CCTK_VInfo + +end module cctk_WarnLevel diff --git a/src/make.code.defn b/src/make.code.defn index 536bf55..bc342c0 100644 --- a/src/make.code.defn +++ b/src/make.code.defn @@ -32,6 +32,14 @@ SRCS = cctk.F90 \ cctk_ParamCheck.F90 \ cctk_Parameter.F90 \ cctk_Reduction.F90 \ + cctk_Schedule.F90 \ + cctk_Stagger.F90 \ + cctk_Sync.F90 \ + cctk_Termination.F90 \ + cctk_Timers.F90 \ + cctk_Types.F90 \ + cctk_Version.F90 \ + cctk_WarnLevel.F90 \ util_Table.F90 else -- cgit v1.2.3