This module implements a rejection composition sampler
It is based on "St-Onge, G., Young, J. G., Hébert-Dufresne, L., & Dubé, L. J. (2019).
Efficient sampling of spreading processes on complex networks using a composition and rejection algorithm.
Computer physics communications, 240, 30-37"
https://doi.org/10.1016/j.cpc.2019.02.008
module~~datastructs_samplers_rejection_maxheap_composition_mod~~UsesGraph
module~datastructs_samplers_rejection_maxheap_composition_mod
datastructs_samplers_rejection_maxheap_composition_mod
module~datastructs_kinds_mod
datastructs_kinds_mod
module~datastructs_samplers_rejection_maxheap_composition_mod->module~datastructs_kinds_mod
module~datastructs_lists_mod
datastructs_lists_mod
module~datastructs_samplers_rejection_maxheap_composition_mod->module~datastructs_lists_mod
module~datastructs_samplers_base_mod
datastructs_samplers_base_mod
module~datastructs_samplers_rejection_maxheap_composition_mod->module~datastructs_samplers_base_mod
module~datastructs_samplers_btree_mod
datastructs_samplers_btree_mod
module~datastructs_samplers_rejection_maxheap_composition_mod->module~datastructs_samplers_btree_mod
module~datastructs_samplers_rejection_maxheap_mod
datastructs_samplers_rejection_maxheap_mod
module~datastructs_samplers_rejection_maxheap_composition_mod->module~datastructs_samplers_rejection_maxheap_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_samplers_btree_mod->module~datastructs_kinds_mod
module~datastructs_samplers_btree_mod->module~datastructs_samplers_base_mod
module~datastructs_samplers_rejection_maxheap_mod->module~datastructs_kinds_mod
module~datastructs_samplers_rejection_maxheap_mod->module~datastructs_lists_mod
module~datastructs_samplers_rejection_maxheap_mod->module~datastructs_samplers_base_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
Nodes of different colours represent the following:
Graph Key
Module
Module
Submodule
Submodule
Subroutine
Subroutine
Function
Function
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
module~~datastructs_samplers_rejection_maxheap_composition_mod~~UsedByGraph
module~datastructs_samplers_rejection_maxheap_composition_mod
datastructs_samplers_rejection_maxheap_composition_mod
proc~choose_sampler
choose_sampler
proc~choose_sampler->module~datastructs_samplers_rejection_maxheap_composition_mod
Nodes of different colours represent the following:
Graph Key
Module
Module
Submodule
Submodule
Subroutine
Subroutine
Function
Function
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
Derived Types
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(weighted_sampler_t ),
public,
allocatable
::
samplers (:)
integer(kind=i4),
public
::
q
=
0
type(weighted_sampler_t ),
public
::
btree
integer(kind=i4),
public,
allocatable
::
sampler_of_index (:)
real(kind=dp),
public
::
wmin
real(kind=dp),
public
::
wmax
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
procedure, public ::
sampler_pos => sampler_sampler_pos