dmmall, dmmallf, dmmalu — Allocate dynamic memory
dmmall reserves nwords
integer*4 words of dynamic memory in the memory stack.
dmmallf reserves nwords
real*8 words of dynamic memory in the memory stack. The returned
integer*4 ident identifies the portion of
allocated memory and it is tied to the allocated memory until the
memory is explicitly released. Re-allocation (by means of
dmmrea) preserves the identifier, although the
allocated memory may reside somewhere else in the memory stack.
Reference to the allocated memory always occurs with the offset
function dmmptr(ident) which is located in the
insert file memcom.ins.
dmmalu performs the same operation as
dmmall, but a user flag
ucode is added to the attribute list.
subroutine dmmall(size, ident, status) integer*4 size integer*4 ident integer*4 status subroutine dmmallf(nwords, ident, status) integer*4 size integer*4 ident integer*4 status subroutine dmmalu(nwords, ucode, ident, status) integer*4 size integer*4 ident integer*4 status
nwordsSize of array to be allocted, counted in number of
integer*4/real*4 (dmmall) or
real*8/integer*8 (dmmallf) words
(input).
ucodeUser code (input), dmmalu only.
The user code must be a positive integer.
identDMM identifier returned (output).
statusStatus code returned (output). A value of 0 indicates normal completion of the operation. A negative value indicates an error. A positive value indicates a warning. See MemCom error codes.