37 MODULE PROCEDURE soptio_b, soptio_s, soptio_l, soptio_r, soptio_d, &
43 optio_b, optio_s, optio_i, optio_l, optio_r, optio_d, optio_c, optio_log, &
44 soptio_b, soptio_s, soptio_l, soptio_r, soptio_d, soptio_c, soptio_log
51 ELEMENTAL INTEGER(kind=int_b) FUNCTION optio_b(var)
52 INTEGER(kind=int_b),
INTENT(in),
OPTIONAL :: var
63 ELEMENTAL INTEGER(kind=int_s) FUNCTION optio_s(var)
64 INTEGER(kind=int_s),
INTENT(in),
OPTIONAL :: var
75 ELEMENTAL INTEGER(kind=int_l) FUNCTION optio_i(var)
76 INTEGER(kind=int_l),
INTENT(in),
OPTIONAL :: var
87 ELEMENTAL INTEGER(kind=int_l) FUNCTION optio_l(var)
88 INTEGER(kind=int_l),
INTENT(in),
OPTIONAL :: var
99 ELEMENTAL REAL FUNCTION optio_r(var)
100 REAL,
INTENT(in),
OPTIONAL :: var
102 if (
present(var))
then 111 ELEMENTAL DOUBLE PRECISION FUNCTION optio_d(var)
112 DOUBLE PRECISION,
INTENT(in),
OPTIONAL :: var
114 if (
present(var))
then 124 FUNCTION optio_c(var,len)
RESULT(char)
125 CHARACTER (len=*),
INTENT(in),
OPTIONAL :: var
126 INTEGER,
INTENT(in) :: len
128 CHARACTER(len=len) :: char
130 if (
present(var))
then 139 ELEMENTAL LOGICAL FUNCTION optio_log(var)
140 LOGICAL,
INTENT(in),
OPTIONAL :: var
142 if (
present(var))
then 148 END FUNCTION optio_log
155 ELEMENTAL SUBROUTINE soptio_b(var,optio_b)
156 INTEGER(kind=int_b),
INTENT(in),
OPTIONAL :: var
157 INTEGER(kind=int_b),
INTENT(out) :: optio_b
159 if (
present(var))
then 165 END SUBROUTINE soptio_b
169 ELEMENTAL SUBROUTINE soptio_s(var,optio_s)
170 INTEGER(kind=int_s),
INTENT(in),
OPTIONAL :: var
171 INTEGER(kind=int_s),
INTENT(out) :: optio_s
173 if (
present(var))
then 179 END SUBROUTINE soptio_s
183 ELEMENTAL SUBROUTINE soptio_l(var,optio_l)
184 INTEGER(kind=int_l),
INTENT(in),
OPTIONAL :: var
185 INTEGER(kind=int_l),
INTENT(out) :: optio_l
187 if (
present(var))
then 193 END SUBROUTINE soptio_l
197 ELEMENTAL SUBROUTINE soptio_r(var,optio_r)
198 REAL,
INTENT(in),
OPTIONAL :: var
199 REAL,
INTENT(out) :: optio_r
201 if (
present(var))
then 207 END SUBROUTINE soptio_r
211 ELEMENTAL SUBROUTINE soptio_d(var,optio_d)
212 DOUBLE PRECISION,
INTENT(in),
OPTIONAL :: var
213 DOUBLE PRECISION,
INTENT(out) :: optio_d
215 if (
present(var))
then 221 END SUBROUTINE soptio_d
226 ELEMENTAL SUBROUTINE soptio_c(var,optio_c)
227 CHARACTER (len=*),
INTENT(in),
OPTIONAL :: var
228 CHARACTER (len=*),
INTENT(out) :: optio_c
230 if (
present(var))
then 236 END SUBROUTINE soptio_c
240 ELEMENTAL SUBROUTINE soptio_log(var,optio_log)
241 LOGICAL,
INTENT(in),
OPTIONAL :: var
242 LOGICAL,
INTENT(out) :: optio_log
244 if (
present(var))
then 250 END SUBROUTINE soptio_log
Module for quickly interpreting the OPTIONAL parameters passed to a subprogram.
Generic subroutine for checking OPTIONAL parameters.
Definitions of constants and functions for working with missing values.