aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschnetter <schnetter@51d2df92-0e4f-0410-a727-bd43d766d6b6>2005-04-16 15:30:37 +0000
committerschnetter <schnetter@51d2df92-0e4f-0410-a727-bd43d766d6b6>2005-04-16 15:30:37 +0000
commit8a3fd1c16ff51bdcb96f8434d1cc2bcfcbf4f770 (patch)
tree3a1f76b56cbc8ab230efa37368a7671612bd54f7
parent3b60528507a27432ede15bb169288e80f50ba647 (diff)
Add more Fortran interfaces
git-svn-id: http://svn.cactuscode.org/arrangements/CactusBase/Fortran/trunk@27 51d2df92-0e4f-0410-a727-bd43d766d6b6
-rw-r--r--src/cctk.F908
-rw-r--r--src/cctk_Reduction.F9021
-rw-r--r--src/cctk_Schedule.F9033
-rw-r--r--src/cctk_Stagger.F9078
-rw-r--r--src/cctk_Sync.F9050
-rw-r--r--src/cctk_Termination.F9033
-rw-r--r--src/cctk_Timers.F90124
-rw-r--r--src/cctk_Types.F9021
-rw-r--r--src/cctk_Version.F9075
-rw-r--r--src/cctk_WarnLevel.F9046
-rw-r--r--src/make.code.defn8
11 files changed, 490 insertions, 7 deletions
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