It takes a one-dimensional array and puts it into a table. The parameters
have the usual meanings, as in the scalar routines, however and additional
argument (max_per_line) allows the specification of the number of elements
that might be put onto a single line.
The first entry will be placed into the same line as the opening brace, and
the closing brace will be put on the same line, as the last entry.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Source Code
subroutine aot_out_val_arr_extdouble(put_conf,val,vname,advance_previous,&&max_per_line)!------------------------------------------------------------------------!> Lua script to write the array into.type(aot_out_type),intent(inout)::put_conf!> Name for this arraycharacter(len=*),optional,intent(in)::vname!> Actual data to write into the scriptreal(kind=xdble_k),intent(in)::val(:)!> Flag if this array should be put on the same line as the last entry of!! the parent table.logical,optional,intent(in)::advance_previous!> Maximal number of entries to put into a single line.!! Defaults to 3.integer,optional,intent(in)::max_per_line!------------------------------------------------------------------------integer::iinteger::nValsinteger::mpllogical::bline!------------------------------------------------------------------------if(present(max_per_line))thenmpl=max_per_lineelsempl=3end if! Opening the table(subtable for array actually)call aot_out_open_table(put_conf,vname,&&advance_previous=advance_previous)nVals=size(val)if(nVals>0)then! Always put the first entry on the same line as the opening brace.call aot_out_val(put_conf,val(1),advance_previous=.false.)do i=2,nVals! Output each entry and break the line after mpl entries on a line.bline=(mod(i-1,mpl)==0)call aot_out_val(put_conf,val(i),advance_previous=bline)end do end if! Always put the closing brace on the same line as the last entry.call aot_out_close_table(put_conf,advance_previous=.false.)end subroutine aot_out_val_arr_extdouble