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_dp_append(self,values,err)!! Append many elements, growing once rather than once per element.class(vector_dp_t),intent(inout)::selfreal(dp),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_dp_t: append would exceed PIC_VECTOR_MAX_CAPACITY.")return end if call vec_dp_grow(self,self%n_items+n_new,err)if(self%n_items+n_new>vec_dp_capacity(self))returnself%items(self%n_items+1:self%n_items+n_new)=valuesself%n_items=self%n_items+n_newend subroutine vec_dp_append