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.
Source Code
subroutine pdf_accumulate_s_1d(self,data,sigma)type(pdf_kernel)::selfreal(8)::data,sigma_real(8),optional::sigmaif(.not.self%status)stop"PDF_ACCUMULATE: PDF not allocated"if(self%variance)thensigma_=self%sigmaelse if(present(sigma))thensigma_=sigmaelse stop"PDF_ACCUMULATE: PDF sigma not set or passed"endif endifself%pdf=self%pdf+gaussian_kernel_1d(self%x,data,sigma_)self%Ndata=self%Ndata+1end subroutine pdf_accumulate_s_1d