Quantcast
Channel: Intel® Fortran Composer XE
Viewing all articles
Browse latest Browse all 1424

Optional argument with default value

$
0
0

What will be the best solution to affect default value to an optional argument?

subroutine dummy(logical_arg)
logical,intent(in),optional :: logical_arg

logical_value=.false.
if( present(logical_arg)) logical_value=logical_arg
....
if( logical_value) then
...
endif
..
end subroutine

or create a function get_arg_logical (and procedure get_arg_value for all kinds of arguments)

logical function get_arg_logical(default_value,logical_arg)
logical,intent(in),optional :: logical_arg
logical,intent(in) :: default_value

get_arg_logical=default_value
if( present(logical_arg)) get_arg_logical=logical_arg
end function

and use get_arg_value(.false.,logical_arg) and so on where needed

subroutine dummy(logical_arg)

logical,intent(in),optional :: logical_arg

....
if(  get_arg_value(.false.,logical_arg) ) then
...
endif
..
end subroutine


Thanks for your suggestions


Viewing all articles
Browse latest Browse all 1424

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>