libvhcall-fortran  2.11
vhcall_fortran Module Reference

VH call Fortran API provides features which invoke Fortran subroutine or function on VH side from a VE program. More...

Data Types

interface  fvhcall_args_set
 Interface of setting value to VH Call arguments object. More...
 

Public Member Functions

integer(int64) function fvhcall_install (libName)
 Load a VH library. More...
 
integer(int64) function fvhcall_find (handle, symbolName)
 Find a symbol in VH library. More...
 
integer function fvhcall_uninstall (handle)
 Unload a VH library. More...
 
integer(int64) function fvhcall_args_alloc ()
 Allocate VH Call arguments object. More...
 
subroutine fvhcall_args_clear (args)
 Clear VH Call arguments object. More...
 
subroutine fvhcall_args_free (args)
 Free VH Call arguments object. More...
 
integer function fvhcall_invoke_with_args (symID, args, retval)
 Invoke a function or subroutine in VH library with passing arguments. More...
 
integer function fvhcall_args_set_string (args, intent, argnum, val)
 Set a character(len=n) argument: n is the length of character (n>=1). More...
 
integer function fvhcall_args_set_integer (args, intent, argnum, val)
 Set an integer argument. More...
 
integer function fvhcall_args_set_iarr_d1 (args, intent, argnum, val)
 Set an argument of 1 dimensional array of type integer. More...
 
integer function fvhcall_args_set_iarr_d2 (args, intent, argnum, val)
 Set an argument of 2 dimensional array of type integer. More...
 
integer function fvhcall_args_set_iarr_d3 (args, intent, argnum, val)
 Set an argument of 3 dimensional array of type integer. More...
 
integer function fvhcall_args_set_integer8 (args, intent, argnum, val)
 Set an integer(kind=8) argument. More...
 
integer function fvhcall_args_set_i8arr_d1 (args, intent, argnum, val)
 Set an argument of 1 dimensional array of type integer(kind=8). More...
 
integer function fvhcall_args_set_i8arr_d2 (args, intent, argnum, val)
 Set an argument of 2 dimensional array of type integer(kind=8). More...
 
integer function fvhcall_args_set_i8arr_d3 (args, intent, argnum, val)
 Set an argument of 3 dimensional array of type integer(kind=8). More...
 
integer function fvhcall_args_set_real (args, intent, argnum, val)
 Set a real argument. More...
 
integer function fvhcall_args_set_rarr_d1 (args, intent, argnum, val)
 Set an argument of 1 dimensional array of type real. More...
 
integer function fvhcall_args_set_rarr_d2 (args, intent, argnum, val)
 Set an argument of 2 dimensional array of type real. More...
 
integer function fvhcall_args_set_rarr_d3 (args, intent, argnum, val)
 Set an argument of 3 dimensional array of type real. More...
 
integer function fvhcall_args_set_double (args, intent, argnum, val)
 Set a double argument. More...
 
integer function fvhcall_args_set_darr_d1 (args, intent, argnum, val)
 Set an argument of 1 dimensional array of type double. More...
 
integer function fvhcall_args_set_darr_d2 (args, intent, argnum, val)
 Set an argument of 2 dimensional array of type double. More...
 
integer function fvhcall_args_set_darr_d3 (args, intent, argnum, val)
 Set an argument of 3 dimensional array of type double. More...
 
integer function fvhcall_args_set_complex (args, intent, argnum, val)
 Set a complex argument. More...
 
integer function fvhcall_args_set_carr_d1 (args, intent, argnum, val)
 Set an argument of 1 dimensional array of type complex. More...
 
integer function fvhcall_args_set_carr_d2 (args, intent, argnum, val)
 Set an argument of 2 dimensional array of type complex. More...
 
integer function fvhcall_args_set_carr_d3 (args, intent, argnum, val)
 Set an argument of 3 dimensional array of type complex. More...
 
integer function fvhcall_args_set_double_complex (args, intent, argnum, val)
 Set a double complex argument. More...
 
integer function fvhcall_args_set_dcarr_d1 (args, intent, argnum, val)
 Set an argument of 1 dimensional array of type double complex. More...
 
integer function fvhcall_args_set_dcarr_d2 (args, intent, argnum, val)
 Set an argument of 2 dimensional array of type double complex. More...
 
integer function fvhcall_args_set_dcarr_d3 (args, intent, argnum, val)
 Set an argument of 3 dimensional array of type double complex. More...
 
integer function fvhcall_args_set_charr_d1 (args, intent, argnum, val)
 Set an argument of 1 dimensional array of type character. More...
 
integer function fvhcall_args_set_charr_d2 (args, intent, argnum, val)
 Set an argument of 2 dimensional array of type character. More...
 
integer function fvhcall_args_set_charr_d3 (args, intent, argnum, val)
 Set an argument of 3 dimensional array of type character. More...
 

Public Attributes

integer, parameter fvhcall_intent_in =1
 Intent of argument. More...
 
integer, parameter fvhcall_intent_out =3
 Intent of argument. More...
 
integer, parameter fvhcall_intent_inout =2
 Intent of argument. More...
 

Detailed Description

VH call Fortran API provides features which invoke Fortran subroutine or function on VH side from a VE program.

The arguments need to be string, scalar or 1-3 dimensional array.

  • Type of scalar and array is INTEGER, INTEGER(kind=8), REAL, DOUBLE, COMPLEX ,DOUBLE COMPLEX or CHARACTER.
  • Array object needs to be contiguous on memory e.g. array(::-1) or array(1,:) can't be specified.

The return value of function needs to be 64bit INTEGER.

Note
To define VH function with variable length string or array, passing the length of it from VE is required e.g. can't use asterisk or double colon like CHARACTER(LEN=*) or array(:). Here is a sample of definition:
Function func(len, str, ...)
INTEGER(8) :: func
INTEGER :: len
CHARACTER(len=len) :: str ! Can't use CHARACTER(len=*)
...
Function func(len, arr, ...)
INTEGER(8) :: func
INTEGER :: len
REAL :: arr(len) ! Can't use REAL :: arr(:)
...
The arguments of VH function/subroutine can't be defined with VALUE, POINTER or ALLOCATABLE.

Please add the following code and specify -lvhcall_fortran option to compile VE fortran program.

Note
Fortran compiler for VH is only supported gfortran 4.8.5 or 8.3.1. Using other fortran compilers may cause unexpected behavior.

Member Function/Subroutine Documentation

integer(int64) function vhcall_fortran::fvhcall_install ( character(len=*), intent(in)  libName)

Load a VH library.

Parameters
[in]libNamefile name to load on VH
Returns
On success, returns 64-bit integer specifying handle of the VH library. On failure, returns -1.
integer(int64) function vhcall_fortran::fvhcall_find ( integer(int64)  handle,
character(len=*), intent(in)  symbolName 
)

Find a symbol in VH library.

Parameters
[in]handle64-bit integer specifying handle of VH library
[in]symbolNamethe name of function or subroutine. Function or subroutine in module is found by moduleName::symbolName.
Returns
On success, returns 64-bit integer specifying symbol of the VH function or subroutine. On failure, returns -1.
integer function vhcall_fortran::fvhcall_uninstall ( integer(int64)  handle)

Unload a VH library.

Parameters
[in]handle64-bit integer specifying handle of the VH library
Returns
On success, returns 0. On failure, returns non-zero value returned from dlclose() on VH.
integer(int64) function vhcall_fortran::fvhcall_args_alloc ( )

Allocate VH Call arguments object.

Returns
On success, returns 64-bit integer specifying arguments object. On failure, returns 0.
subroutine vhcall_fortran::fvhcall_args_clear ( integer(int64)  args)

Clear VH Call arguments object.

Parameters
[in]args64-bit integer specifying arguments object
subroutine vhcall_fortran::fvhcall_args_free ( integer(int64)  args)

Free VH Call arguments object.

Parameters
[in]args64-bit integer specifying arguments object
integer function vhcall_fortran::fvhcall_invoke_with_args ( integer(int64)  symID,
integer(int64)  args,
integer(int64), optional, target  retval 
)

Invoke a function or subroutine in VH library with passing arguments.

Note
If values in args are changed before invoking fvhcall_invoke_with_args, the changed value is passed to VH function or subroutine.
A function in VH library need to return 64-bit integer.
Parameters
[in]symID64-bit integer specifying symbol of the VH subroutine or function
[in]args64-bit integer specifying arguments object
[out]retval64-bit integer return value of VH library function. This is omitted when symID specifies subroutine.
Returns
On success, returns 0. On failure, returns -1.
integer function vhcall_fortran::fvhcall_args_set_string ( integer(int64)  args,
integer  intent,
integer  argnum,
character(len=*), target  val 
)

Set a character(len=n) argument: n is the length of character (n>=1).

Note
Value set to args need to be able to be referenced at invoking fvhcall_invoke_with_args.
Value set to args need to have same type(kind) and shape of argument on VH side because VE and VH would like to access same data.
Parameters
[in]args64-bit integer specifying arguments object
[in]intentparameter of fvhcall_intent_[in/out/inout]. This specifies what the argument is used for input, output or input/output.
[in]argnumthe argnum-th argument of callee function (counting from 1).
[in]valvalue to be set
Returns
On success, returns 0. On failure, returns -1.
integer function vhcall_fortran::fvhcall_args_set_integer ( integer(int64)  args,
integer  intent,
integer  argnum,
integer, target  val 
)

Set an integer argument.

Note
Value set to args need to be able to be referenced at invoking fvhcall_invoke_with_args.
Value set to args need to have same type(kind) and shape of argument on VH side because VE and VH would like to access same data.
Parameters
[in]args64-bit integer specifying arguments object
[in]intentparameter of fvhcall_intent_[in/out/inout]. This specifies what the argument is used for input, output or input/output.
[in]argnumthe argnum-th argument of callee function (counting from 1).
[in]valvalue to be set
Returns
On success, returns 0. On failure, returns -1.
integer function vhcall_fortran::fvhcall_args_set_iarr_d1 ( integer(int64)  args,
integer  intent,
integer  argnum,
integer, dimension(:), target  val 
)

Set an argument of 1 dimensional array of type integer.

Note
Value set to args need to be able to be referenced at invoking fvhcall_invoke_with_args.
Value set to args need to have same type(kind) and shape of argument on VH side because VE and VH would like to access same data.
Parameters
[in]args64-bit integer specifying arguments object
[in]intentparameter of fvhcall_intent_[in/out/inout]. This specifies what the argument is used for input, output or input/output.
[in]argnumthe argnum-th argument of callee function (counting from 1).
[in]valvalue to be set
Returns
On success, returns 0. On failure, returns -1.
integer function vhcall_fortran::fvhcall_args_set_iarr_d2 ( integer(int64)  args,
integer  intent,
integer  argnum,
integer, dimension(:,:), target  val 
)

Set an argument of 2 dimensional array of type integer.

Note
Value set to args need to be able to be referenced at invoking fvhcall_invoke_with_args.
Value set to args need to have same type(kind) and shape of argument on VH side because VE and VH would like to access same data.
Parameters
[in]args64-bit integer specifying arguments object
[in]intentparameter of fvhcall_intent_[in/out/inout]. This specifies what the argument is used for input, output or input/output.
[in]argnumthe argnum-th argument of callee function (counting from 1).
[in]valvalue to be set
Returns
On success, returns 0. On failure, returns -1.
integer function vhcall_fortran::fvhcall_args_set_iarr_d3 ( integer(int64)  args,
integer  intent,
integer  argnum,
integer, dimension(:,:,:), target  val 
)

Set an argument of 3 dimensional array of type integer.

Note
Value set to args need to be able to be referenced at invoking fvhcall_invoke_with_args.
Value set to args need to have same type(kind) and shape of argument on VH side because VE and VH would like to access same data.
Parameters
[in]args64-bit integer specifying arguments object
[in]intentparameter of fvhcall_intent_[in/out/inout]. This specifies what the argument is used for input, output or input/output.
[in]argnumthe argnum-th argument of callee function (counting from 1).
[in]valvalue to be set
Returns
On success, returns 0. On failure, returns -1.
integer function vhcall_fortran::fvhcall_args_set_integer8 ( integer(int64)  args,
integer  intent,
integer  argnum,
integer(kind=8), target  val 
)

Set an integer(kind=8) argument.

Note
Value set to args need to be able to be referenced at invoking fvhcall_invoke_with_args.
Value set to args need to have same type(kind) and shape of argument on VH side because VE and VH would like to access same data.
Parameters
[in]args64-bit integer specifying arguments object
[in]intentparameter of fvhcall_intent_[in/out/inout]. This specifies what the argument is used for input, output or input/output.
[in]argnumthe argnum-th argument of callee function (counting from 1).
[in]valvalue to be set
Returns
On success, returns 0. On failure, returns -1.
integer function vhcall_fortran::fvhcall_args_set_i8arr_d1 ( integer(int64)  args,
integer  intent,
integer  argnum,
integer(kind=8), dimension(:), target  val 
)

Set an argument of 1 dimensional array of type integer(kind=8).

Note
Value set to args need to be able to be referenced at invoking fvhcall_invoke_with_args.
Value set to args need to have same type(kind) and shape of argument on VH side because VE and VH would like to access same data.
Parameters
[in]args64-bit integer specifying arguments object
[in]intentparameter of fvhcall_intent_[in/out/inout]. This specifies what the argument is used for input, output or input/output.
[in]argnumthe argnum-th argument of callee function (counting from 1).
[in]valvalue to be set
Returns
On success, returns 0. On failure, returns -1.
integer function vhcall_fortran::fvhcall_args_set_i8arr_d2 ( integer(int64)  args,
integer  intent,
integer  argnum,
integer(kind=8), dimension(:,:), target  val 
)

Set an argument of 2 dimensional array of type integer(kind=8).

Note
Value set to args need to be able to be referenced at invoking fvhcall_invoke_with_args.
Value set to args need to have same type(kind) and shape of argument on VH side because VE and VH would like to access same data.
Parameters
[in]args64-bit integer specifying arguments object
[in]intentparameter of fvhcall_intent_[in/out/inout]. This specifies what the argument is used for input, output or input/output.
[in]argnumthe argnum-th argument of callee function (counting from 1).
[in]valvalue to be set
Returns
On success, returns 0. On failure, returns -1.
integer function vhcall_fortran::fvhcall_args_set_i8arr_d3 ( integer(int64)  args,
integer  intent,
integer  argnum,
integer(kind=8), dimension(:,:,:), target  val 
)

Set an argument of 3 dimensional array of type integer(kind=8).

Note
Value set to args need to be able to be referenced at invoking fvhcall_invoke_with_args.
Value set to args need to have same type(kind) and shape of argument on VH side because VE and VH would like to access same data.
Parameters
[in]args64-bit integer specifying arguments object
[in]intentparameter of fvhcall_intent_[in/out/inout]. This specifies what the argument is used for input, output or input/output.
[in]argnumthe argnum-th argument of callee function (counting from 1).
[in]valvalue to be set
Returns
On success, returns 0. On failure, returns -1.
integer function vhcall_fortran::fvhcall_args_set_real ( integer(int64)  args,
integer  intent,
integer  argnum,
real, target  val 
)

Set a real argument.

Note
Value set to args need to be able to be referenced at invoking fvhcall_invoke_with_args.
Value set to args need to have same type(kind) and shape of argument on VH side because VE and VH would like to access same data.
Parameters
[in]args64-bit integer specifying arguments object
[in]intentparameter of fvhcall_intent_[in/out/inout]. This specifies what the argument is used for input, output or input/output.
[in]argnumthe argnum-th argument of callee function (counting from 1).
[in]valvalue to be set
Returns
On success, returns 0. On failure, returns -1.
integer function vhcall_fortran::fvhcall_args_set_rarr_d1 ( integer(int64)  args,
integer  intent,
integer  argnum,
real, dimension(:), target  val 
)

Set an argument of 1 dimensional array of type real.

Note
Value set to args need to be able to be referenced at invoking fvhcall_invoke_with_args.
Value set to args need to have same type(kind) and shape of argument on VH side because VE and VH would like to access same data.
Parameters
[in]args64-bit integer specifying arguments object
[in]intentparameter of fvhcall_intent_[in/out/inout]. This specifies what the argument is used for input, output or input/output.
[in]argnumthe argnum-th argument of callee function (counting from 1).
[in]valvalue to be set
Returns
On success, returns 0. On failure, returns -1.
integer function vhcall_fortran::fvhcall_args_set_rarr_d2 ( integer(int64)  args,
integer  intent,
integer  argnum,
real, dimension(:,:), target  val 
)

Set an argument of 2 dimensional array of type real.

Note
Value set to args need to be able to be referenced at invoking fvhcall_invoke_with_args.
Value set to args need to have same type(kind) and shape of argument on VH side because VE and VH would like to access same data.
Parameters
[in]args64-bit integer specifying arguments object
[in]intentparameter of fvhcall_intent_[in/out/inout]. This specifies what the argument is used for input, output or input/output.
[in]argnumthe argnum-th argument of callee function (counting from 1).
[in]valvalue to be set
Returns
On success, returns 0. On failure, returns -1.
integer function vhcall_fortran::fvhcall_args_set_rarr_d3 ( integer(int64)  args,
integer  intent,
integer  argnum,
real, dimension(:,:,:), target  val 
)

Set an argument of 3 dimensional array of type real.

Note
Value set to args need to be able to be referenced at invoking fvhcall_invoke_with_args.
Value set to args need to have same type(kind) and shape of argument on VH side because VE and VH would like to access same data.
Parameters
[in]args64-bit integer specifying arguments object
[in]intentparameter of fvhcall_intent_[in/out/inout]. This specifies what the argument is used for input, output or input/output.
[in]argnumthe argnum-th argument of callee function (counting from 1).
[in]valvalue to be set
Returns
On success, returns 0. On failure, returns -1.
integer function vhcall_fortran::fvhcall_args_set_double ( integer(int64)  args,
integer  intent,
integer  argnum,
double precision, target  val 
)

Set a double argument.

Note
Value set to args need to be able to be referenced at invoking fvhcall_invoke_with_args.
Value set to args need to have same type(kind) and shape of argument on VH side because VE and VH would like to access same data.
Parameters
[in]args64-bit integer specifying arguments object
[in]intentparameter of fvhcall_intent_[in/out/inout]. This specifies what the argument is used for input, output or input/output.
[in]argnumthe argnum-th argument of callee function (counting from 1).
[in]valvalue to be set
Returns
On success, returns 0. On failure, returns -1.
integer function vhcall_fortran::fvhcall_args_set_darr_d1 ( integer(int64)  args,
integer  intent,
integer  argnum,
double precision, dimension(:), target  val 
)

Set an argument of 1 dimensional array of type double.

Note
Value set to args need to be able to be referenced at invoking fvhcall_invoke_with_args.
Value set to args need to have same type(kind) and shape of argument on VH side because VE and VH would like to access same data.
Parameters
[in]args64-bit integer specifying arguments object
[in]intentparameter of fvhcall_intent_[in/out/inout]. This specifies what the argument is used for input, output or input/output.
[in]argnumthe argnum-th argument of callee function (counting from 1).
[in]valvalue to be set
Returns
On success, returns 0. On failure, returns -1.
integer function vhcall_fortran::fvhcall_args_set_darr_d2 ( integer(int64)  args,
integer  intent,
integer  argnum,
double precision, dimension(:,:), target  val 
)

Set an argument of 2 dimensional array of type double.

Note
Value set to args need to be able to be referenced at invoking fvhcall_invoke_with_args.
Value set to args need to have same type(kind) and shape of argument on VH side because VE and VH would like to access same data.
Parameters
[in]args64-bit integer specifying arguments object
[in]intentparameter of fvhcall_intent_[in/out/inout]. This specifies what the argument is used for input, output or input/output.
[in]argnumthe argnum-th argument of callee function (counting from 1).
[in]valvalue to be set
Returns
On success, returns 0. On failure, returns -1.
integer function vhcall_fortran::fvhcall_args_set_darr_d3 ( integer(int64)  args,
integer  intent,
integer  argnum,
double precision, dimension(:,:,:), target  val 
)

Set an argument of 3 dimensional array of type double.

Note
Value set to args need to be able to be referenced at invoking fvhcall_invoke_with_args.
Value set to args need to have same type(kind) and shape of argument on VH side because VE and VH would like to access same data.
Parameters
[in]args64-bit integer specifying arguments object
[in]intentparameter of fvhcall_intent_[in/out/inout]. This specifies what the argument is used for input, output or input/output.
[in]argnumthe argnum-th argument of callee function (counting from 1).
[in]valvalue to be set
Returns
On success, returns 0. On failure, returns -1.
integer function vhcall_fortran::fvhcall_args_set_complex ( integer(int64)  args,
integer  intent,
integer  argnum,
complex, target  val 
)

Set a complex argument.

Note
Value set to args need to be able to be referenced at invoking fvhcall_invoke_with_args.
Value set to args need to have same type(kind) and shape of argument on VH side because VE and VH would like to access same data.
Parameters
[in]args64-bit integer specifying arguments object
[in]intentparameter of fvhcall_intent_[in/out/inout]. This specifies what the argument is used for input, output or input/output.
[in]argnumthe argnum-th argument of callee function (counting from 1).
[in]valvalue to be set
Returns
On success, returns 0. On failure, returns -1.
integer function vhcall_fortran::fvhcall_args_set_carr_d1 ( integer(int64)  args,
integer  intent,
integer  argnum,
complex, dimension(:), target  val 
)

Set an argument of 1 dimensional array of type complex.

Note
Value set to args need to be able to be referenced at invoking fvhcall_invoke_with_args.
Value set to args need to have same type(kind) and shape of argument on VH side because VE and VH would like to access same data.
Parameters
[in]args64-bit integer specifying arguments object
[in]intentparameter of fvhcall_intent_[in/out/inout]. This specifies what the argument is used for input, output or input/output.
[in]argnumthe argnum-th argument of callee function (counting from 1).
[in]valvalue to be set
Returns
On success, returns 0. On failure, returns -1.
integer function vhcall_fortran::fvhcall_args_set_carr_d2 ( integer(int64)  args,
integer  intent,
integer  argnum,
complex, dimension(:,:), target  val 
)

Set an argument of 2 dimensional array of type complex.

Note
Value set to args need to be able to be referenced at invoking fvhcall_invoke_with_args.
Value set to args need to have same type(kind) and shape of argument on VH side because VE and VH would like to access same data.
Parameters
[in]args64-bit integer specifying arguments object
[in]intentparameter of fvhcall_intent_[in/out/inout]. This specifies what the argument is used for input, output or input/output.
[in]argnumthe argnum-th argument of callee function (counting from 1).
[in]valvalue to be set
Returns
On success, returns 0. On failure, returns -1.
integer function vhcall_fortran::fvhcall_args_set_carr_d3 ( integer(int64)  args,
integer  intent,
integer  argnum,
complex, dimension(:,:,:), target  val 
)

Set an argument of 3 dimensional array of type complex.

Note
Value set to args need to be able to be referenced at invoking fvhcall_invoke_with_args.
Value set to args need to have same type(kind) and shape of argument on VH side because VE and VH would like to access same data.
Parameters
[in]args64-bit integer specifying arguments object
[in]intentparameter of fvhcall_intent_[in/out/inout]. This specifies what the argument is used for input, output or input/output.
[in]argnumthe argnum-th argument of callee function (counting from 1).
[in]valvalue to be set
Returns
On success, returns 0. On failure, returns -1.
integer function vhcall_fortran::fvhcall_args_set_double_complex ( integer(int64)  args,
integer  intent,
integer  argnum,
complex(kind(0d0)), target  val 
)

Set a double complex argument.

Note
Value set to args need to be able to be referenced at invoking fvhcall_invoke_with_args.
Value set to args need to have same type(kind) and shape of argument on VH side because VE and VH would like to access same data.
Parameters
[in]args64-bit integer specifying arguments object
[in]intentparameter of fvhcall_intent_[in/out/inout]. This specifies what the argument is used for input, output or input/output.
[in]argnumthe argnum-th argument of callee function (counting from 1).
[in]valvalue to be set
Returns
On success, returns 0. On failure, returns -1.
integer function vhcall_fortran::fvhcall_args_set_dcarr_d1 ( integer(int64)  args,
integer  intent,
integer  argnum,
complex(kind(0d0)), dimension(:), target  val 
)

Set an argument of 1 dimensional array of type double complex.

Note
Value set to args need to be able to be referenced at invoking fvhcall_invoke_with_args.
Value set to args need to have same type(kind) and shape of argument on VH side because VE and VH would like to access same data.
Parameters
[in]args64-bit integer specifying arguments object
[in]intentparameter of fvhcall_intent_[in/out/inout]. This specifies what the argument is used for input, output or input/output.
[in]argnumthe argnum-th argument of callee function (counting from 1).
[in]valvalue to be set
Returns
On success, returns 0. On failure, returns -1.
integer function vhcall_fortran::fvhcall_args_set_dcarr_d2 ( integer(int64)  args,
integer  intent,
integer  argnum,
complex(kind(0d0)), dimension(:,:), target  val 
)

Set an argument of 2 dimensional array of type double complex.

Note
Value set to args need to be able to be referenced at invoking fvhcall_invoke_with_args.
Value set to args need to have same type(kind) and shape of argument on VH side because VE and VH would like to access same data.
Parameters
[in]args64-bit integer specifying arguments object
[in]intentparameter of fvhcall_intent_[in/out/inout]. This specifies what the argument is used for input, output or input/output.
[in]argnumthe argnum-th argument of callee function (counting from 1).
[in]valvalue to be set
Returns
On success, returns 0. On failure, returns -1.
integer function vhcall_fortran::fvhcall_args_set_dcarr_d3 ( integer(int64)  args,
integer  intent,
integer  argnum,
complex(kind(0d0)), dimension(:,:,:), target  val 
)

Set an argument of 3 dimensional array of type double complex.

Note
Value set to args need to be able to be referenced at invoking fvhcall_invoke_with_args.
Value set to args need to have same type(kind) and shape of argument on VH side because VE and VH would like to access same data.
Parameters
[in]args64-bit integer specifying arguments object
[in]intentparameter of fvhcall_intent_[in/out/inout]. This specifies what the argument is used for input, output or input/output.
[in]argnumthe argnum-th argument of callee function (counting from 1).
[in]valvalue to be set
Returns
On success, returns 0. On failure, returns -1.
integer function vhcall_fortran::fvhcall_args_set_charr_d1 ( integer(int64)  args,
integer  intent,
integer  argnum,
character, dimension(:), target  val 
)

Set an argument of 1 dimensional array of type character.

Note
Value set to args need to be able to be referenced at invoking fvhcall_invoke_with_args.
Value set to args need to have same type(kind) and shape of argument on VH side because VE and VH would like to access same data.
Parameters
[in]args64-bit integer specifying arguments object
[in]intentparameter of fvhcall_intent_[in/out/inout]. This specifies what the argument is used for input, output or input/output.
[in]argnumthe argnum-th argument of callee function (counting from 1).
[in]valvalue to be set
Returns
On success, returns 0. On failure, returns -1.
integer function vhcall_fortran::fvhcall_args_set_charr_d2 ( integer(int64)  args,
integer  intent,
integer  argnum,
character, dimension(:,:), target  val 
)

Set an argument of 2 dimensional array of type character.

Note
Value set to args need to be able to be referenced at invoking fvhcall_invoke_with_args.
Value set to args need to have same type(kind) and shape of argument on VH side because VE and VH would like to access same data.
Parameters
[in]args64-bit integer specifying arguments object
[in]intentparameter of fvhcall_intent_[in/out/inout]. This specifies what the argument is used for input, output or input/output.
[in]argnumthe argnum-th argument of callee function (counting from 1).
[in]valvalue to be set
Returns
On success, returns 0. On failure, returns -1.
integer function vhcall_fortran::fvhcall_args_set_charr_d3 ( integer(int64)  args,
integer  intent,
integer  argnum,
character, dimension(:,:,:), target  val 
)

Set an argument of 3 dimensional array of type character.

Note
Value set to args need to be able to be referenced at invoking fvhcall_invoke_with_args.
Value set to args need to have same type(kind) and shape of argument on VH side because VE and VH would like to access same data.
Parameters
[in]args64-bit integer specifying arguments object
[in]intentparameter of fvhcall_intent_[in/out/inout]. This specifies what the argument is used for input, output or input/output.
[in]argnumthe argnum-th argument of callee function (counting from 1).
[in]valvalue to be set
Returns
On success, returns 0. On failure, returns -1.

Member Data Documentation

integer, parameter vhcall_fortran::fvhcall_intent_in =1

Intent of argument.

Argument is used as input

integer, parameter vhcall_fortran::fvhcall_intent_out =3

Intent of argument.

Argument is used as output.

Note
Don't use this for literal or value with PARAMETER attribute.
integer, parameter vhcall_fortran::fvhcall_intent_inout =2

Intent of argument.

Argument is used as input and output.

Note
Don't use this for literal or value with PARAMETER attribute.