datastructs_samplers_rejection_mod Module

This module implements a rejection sampling


Uses

  • module~~datastructs_samplers_rejection_mod~~UsesGraph module~datastructs_samplers_rejection_mod datastructs_samplers_rejection_mod module~datastructs_kinds_mod datastructs_kinds_mod module~datastructs_samplers_rejection_mod->module~datastructs_kinds_mod module~datastructs_lists_mod datastructs_lists_mod module~datastructs_samplers_rejection_mod->module~datastructs_lists_mod module~datastructs_samplers_base_mod datastructs_samplers_base_mod module~datastructs_samplers_rejection_mod->module~datastructs_samplers_base_mod iso_fortran_env iso_fortran_env module~datastructs_kinds_mod->iso_fortran_env module~datastructs_lists_mod->module~datastructs_kinds_mod module~datastructs_lists_dynamical_list_mod datastructs_lists_dynamical_list_mod module~datastructs_lists_mod->module~datastructs_lists_dynamical_list_mod module~datastructs_lists_fixed_list_mod datastructs_lists_fixed_list_mod module~datastructs_lists_mod->module~datastructs_lists_fixed_list_mod module~datastructs_maxheap_mod datastructs_maxheap_mod module~datastructs_lists_mod->module~datastructs_maxheap_mod module~datastructs_samplers_base_mod->module~datastructs_kinds_mod module~datastructs_lists_dynamical_list_mod->module~datastructs_kinds_mod module~datastructs_lists_fixed_list_mod->module~datastructs_kinds_mod module~datastructs_maxheap_mod->module~datastructs_kinds_mod

Used by

  • module~~datastructs_samplers_rejection_mod~~UsedByGraph module~datastructs_samplers_rejection_mod datastructs_samplers_rejection_mod module~datastructs_samplers_rejection_two_classes_mod datastructs_samplers_rejection_two_classes_mod module~datastructs_samplers_rejection_two_classes_mod->module~datastructs_samplers_rejection_mod proc~choose_sampler choose_sampler proc~choose_sampler->module~datastructs_samplers_rejection_mod proc~choose_sampler->module~datastructs_samplers_rejection_two_classes_mod

Interfaces

public interface weighted_sampler

Constructor

  • private function weighted_sampler_new(n) result(this)

    Create a new rejection sampler with N weights Input: n - number of weights

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i4), intent(in) :: n

    Return Value type(weighted_sampler_t)


Derived Types

type, public, extends(sampler_base_t) ::  weighted_sampler_t

Derived type, extending from the base

Components

Type Visibility Attributes Name Initial
real(kind=dp), public, allocatable :: weights(:)
integer(kind=i4), public :: n = 0
type(dynamical_list_t), public, allocatable :: indices
integer(kind=i4), public, allocatable :: position_of(:)
real(kind=dp), public :: current_sum = 0.0_dp
real(kind=dp), public :: max_weight = 0.0_dp

Finalizations Procedures

final :: sampler_finalize

Type-Bound Procedures

generic, public :: init => init_n, init_w, init_w2
procedure, public :: init_n => sampler_init
procedure, public :: init_w => sampler_init_w
procedure, public :: init_w2 => sampler_init_w2
procedure, public :: reset => sampler_reset
procedure, public :: set_weight => sampler_set_weight
procedure, public :: set_weight_array => sampler_set_weight_array
procedure, public :: add_weight => sampler_add_weight
procedure, public :: sample => sampler_sample
procedure, public :: remove => sampler_remove
procedure, public :: sum => sampler_sum