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.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Variables
Type
Visibility
Attributes
Name
Initial
integer(kind=default_int),
private
::
n_new
Source Code
pure subroutine vec_int64_append(self,values,err)!! Append many elements, growing once rather than once per element.class(vector_int64_t),intent(inout)::selfinteger(int64),intent(in)::values(:)type(error_t),intent(inout),optional::errinteger(default_int)::n_newn_new=size(values,kind=default_int)if(n_new==0)return! Rearranged from `n_items + n_new > MAX` so that the sum is never! formed; the subtraction cannot overflow because `n_items` is! non-negative and PIC_VECTOR_MAX_CAPACITY is `huge`.if(n_new>PIC_VECTOR_MAX_CAPACITY-self%n_items)then call error_raise(err,ERROR_ALLOC,&"vector_int64_t: append would exceed PIC_VECTOR_MAX_CAPACITY.")return end if call vec_int64_grow(self,self%n_items+n_new,err)if(self%n_items+n_new>vec_int64_capacity(self))returnself%items(self%n_items+1:self%n_items+n_new)=valuesself%n_items=self%n_items+n_newend subroutine vec_int64_append