Put a extdouble precision real value into a table.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=xdble_k), | intent(in) | :: | val |
Value of the table entry if it exists. |
||
type(flu_State) | :: | L | ||||
integer, | intent(in) | :: | thandle |
Handle to the table to look the value up in. |
||
character(len=*), | intent(in), | optional | :: | key |
Name of the entry to look for. Key and pos are both optional, however at least one of them has to be supplied. The key takes precedence over the pos if both are given. |
|
integer, | intent(in), | optional | :: | pos |
Position of the entry to look for in the table. It allows the access to unnamed arrays in the Lua tables. |
subroutine set_table_extdouble(val, L, thandle, key, pos) type(flu_State) :: L !< Handle to the Lua script. !> Handle to the table to look the value up in. integer, intent(in) :: thandle !> Value of the table entry if it exists. real(kind=xdble_k), intent(in) :: val !> Name of the entry to look for. !! !! Key and pos are both optional, however at least one of them has to be !! supplied. !! The key takes precedence over the pos if both are given. character(len=*), intent(in), optional :: key !> Position of the entry to look for in the table. !! !! It allows the access to unnamed arrays in the Lua tables. integer, intent(in), optional :: pos real(kind=double_k) :: locval locval = real(val, kind=double_k) if (thandle > 0) then if (present(key)) then ! If there is a key, use that. ! First put the value on the top of the stack call flu_pushNumber(L, locval) ! Now put it into the table call flu_setField(L, thandle, trim(key)) else ! No key given, try to put the value by position if (present(pos)) then ! First put the index, where to write the value into the table, on the ! stack. call flu_pushInteger(L, pos) ! Now put the actual value on the top of the stack. call flu_pushNumber(L, locval) ! Get the two entries from the stack into the table. call flu_setTable(L, thandle) end if end if end if end subroutine set_table_extdouble