A module to produce Lua scripts with nested tables.
This module eases the output of readable Lua scripts. It takes care of indentation with nested tables, and provides a concise interface to output Fortran data into Lua tables. Therefore this module is somehow the counter-part to the reading functions, however, it is almost completely independent and relies purely on Fortran output methods. Thus this module could stand alone, along with the flu_kinds_module without the Lua library.
Put Fortran intrinsic types into the script.
Scalar values and one-dimensional arrays are supported. Here we add support for extdouble precision. NOTE however, that the used format will only be in double precision, as Lua does not provide higher accuracy right now anyway.
Put extdouble variables into the Lua script.
The value is passed in with val, optionally you can assign a name to it with the vname argument. If it should be put on the same line as the previous entry, you have to set advance_previous=.false.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(aot_out_type), | intent(inout) | :: | put_conf | |||
real(kind=xdble_k), | intent(in) | :: | val | |||
character(len=*), | intent(in), | optional | :: | vname | ||
logical, | intent(in), | optional | :: | advance_previous |
This is a vectorized version of the value output.
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.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(aot_out_type), | intent(inout) | :: | put_conf |
Lua script to write the array into. |
||
real(kind=xdble_k), | intent(in) | :: | val(:) |
Actual data to write into the script |
||
character(len=*), | intent(in), | optional | :: | vname |
Name for this array |
|
logical, | intent(in), | optional | :: | advance_previous |
Flag if this array should be put on the same line as the last entry of the parent table. |
|
integer, | intent(in), | optional | :: | max_per_line |
Maximal number of entries to put into a single line. Defaults to 3. |
Put extdouble variables into the Lua script.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(aot_out_type), | intent(inout) | :: | put_conf | |||
real(kind=xdble_k), | intent(in) | :: | val | |||
character(len=*), | intent(in), | optional | :: | vname | ||
logical, | intent(in), | optional | :: | advance_previous |
This is a vectorized version of the value output.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(aot_out_type), | intent(inout) | :: | put_conf |
Lua script to write the array into. |
||
real(kind=xdble_k), | intent(in) | :: | val(:) |
Actual data to write into the script |
||
character(len=*), | intent(in), | optional | :: | vname |
Name for this array |
|
logical, | intent(in), | optional | :: | advance_previous |
Flag if this array should be put on the same line as the last entry of the parent table. |
|
integer, | intent(in), | optional | :: | max_per_line |
Maximal number of entries to put into a single line. Defaults to 3. |