61#ifdef FC_COMMAND_LINE_MODULE
62 use fc_command_line_module
69#ifdef FC_COMMAND_LINE_INCLUDE
70 include fc_command_line_include
87#if FC_COMMAND_LINE_ARGUMENTS != 2003
118 integer,
intent(inout) :: mode
126 order, nresonances, nfrequencies, time, &
130 integer,
intent(inout) :: mode
131 real(c_double),
intent(inout) :: omega
132 real(c_double),
intent(inout) :: searchinterval
133 integer,
intent(inout) :: order, nresonances, nfrequencies
134 real(c_double),
intent(inout) :: time
135 integer,
intent(inout) :: l, m
136 real(c_double),
intent(inout) :: damping
137 character(kind=c_char),
intent(inout) :: file(*)
143 real(c_double) ,
intent(inout) :: w0
144 integer ,
intent(inout) :: m
145 integer ,
intent(inout) :: ar
146 character(kind=c_char) ,
intent(inout) :: pol(*)
147 real(c_double) ,
intent(inout) :: x
148 real(c_double) ,
intent(inout) :: y
149 real(c_double) ,
intent(inout) :: z
155 character(kind=c_char),
intent(inout) :: mode(*)
156 character(kind=c_char),
intent(inout) :: name(*)
160 thstep, thspan, phstep, phspan, pol, center, pvec, integrate)
163 real(c_double),
intent(inout) :: estep
164 real(c_double),
intent(inout) :: espan(2)
165 real(c_double),
intent(inout) :: thstep
166 real(c_double),
intent(inout) :: thspan(2)
167 real(c_double),
intent(inout) :: phstep
168 real(c_double),
intent(inout) :: phspan(2)
169 real(c_double),
intent(inout) :: pol(3)
170 real(c_double),
intent(inout) :: center(3)
171 real(c_double),
intent(inout) :: pvec(3)
172 integer,
intent(inout) :: integrate
182#if FC_COMMAND_LINE_ARGUMENTS == 77 && ! defined(FC_COMMAND_LINE_INTRINSIC)
185#ifdef FC_COMMAND_LINE_IMPLICIT
186 integer function iargc()
190 module procedure iargc
195#ifdef FC_COMMAND_LINE_IMPLICIT
196 subroutine getarg(c, a)
198 integer,
intent(in) :: c
199 character(len=*),
intent(out) :: a
200 end subroutine getarg
202 module procedure getarg
206#endif /* FC_COMMAND_LINE_ARGUMENTS == 77 */
216 integer,
intent(in) :: argc
219 subroutine set_clarg(i, argstring)
bind(c)
222 integer,
intent(in) :: i
223 character(kind=c_char),
intent(in) :: argstring(*)
235 character(len=*),
intent(in) :: config_str
237 subroutine getopt_octopus_low(config_str) bind(c, name='getopt_octopus')
240 character(kind=c_char),
intent(in) :: config_str(*)
241 end subroutine getopt_octopus_low
252 integer,
intent(out) :: ierr
255 character(len=100),
allocatable :: argstring(:)
257#ifdef FC_COMMAND_LINE_ARGUMENTS
259 allocate(argstring(0:argc))
265 deallocate(argstring)
274#ifdef FC_COMMAND_LINE_ARGUMENTS
282#if defined(FC_COMMAND_LINE_INTRINSIC) || ! defined(FC_COMMAND_LINE_ARGUMENTS)
285#if defined(FC_COMMAND_LINE_INTRINSIC)
293 integer,
intent(in) :: c
294 character(len=*),
intent(out) :: a
296#if defined(FC_COMMAND_LINE_INTRINSIC)
Each program/utility that needs to use the getopt features should have an interface here – the defini...
If Fortran 2003 interface to command line arguments is not available, define it using an interface ov...
subroutine, public getopt_octopus(config_str)
subroutine, public getopt_init(ierr)
Initializes the getopt machinery. Must be called before attempting to parse the options....
subroutine, public getopt_end
integer function, public command_argument_count()
subroutine, public get_command_argument(c, a)
character(kind=c_char, len=1) function, dimension(:), allocatable, public string_f_to_c(f_string)
convert a Fortran string to a C string