pdf_accumulate_s_2d Subroutine

subroutine pdf_accumulate_s_2d(self, data, sigma)

Arguments

Type IntentOptional Attributes Name
type(pdf_kernel_2d) :: self
real(kind=8) :: data(2)
real(kind=8), optional :: sigma(2,2)

Calls

proc~~pdf_accumulate_s_2d~~CallsGraph proc~pdf_accumulate_s_2d pdf_accumulate_s_2d gaussian_kernel_2d gaussian_kernel_2d proc~pdf_accumulate_s_2d->gaussian_kernel_2d

Source Code

subroutine pdf_accumulate_s_2d(self,data,sigma)
  type(pdf_kernel_2d) :: self
  real(8)             :: data(2)
  real(8),optional    :: sigma(2,2)
  real(8)             :: sigma_(2,2)
  integer             :: i,j
  if(.not.self%status)stop "PDF_ACCUMULATE: PDF not allocated"
  if(self%variance)then
     sigma_ = self%sigma
  else
     if(present(sigma))then
        sigma_ = sigma
     else
        stop "PDF_ACCUMULATE: PDF sigma not set or passed"
     endif
  endif
  !
  self%pdf   = self%pdf + gaussian_kernel_2d(self%x,self%y,data,sigma_)
  self%Ndata = self%Ndata + 1
end subroutine pdf_accumulate_s_2d