This module implements the basic structure for weighted samplers
Base type for all samplers
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=dp), | public, | allocatable | :: | weights(:) | |||
integer(kind=i4), | public | :: | n | = | 0 |
procedure(i_init_n), public, deferred :: init_n | |
procedure(i_init_w), public, deferred :: init_w | |
procedure(i_init_w2), public, deferred :: init_w2 | |
generic, public :: init => init_n, init_w, init_w2 | |
procedure(i_reset), public, deferred :: reset | |
procedure(i_set_weight), public, deferred :: set_weight | |
procedure(i_set_weight_array), public, deferred :: set_weight_array | |
procedure(i_add_weight), public, deferred :: add_weight | |
procedure(i_sample), public, deferred :: sample | |
procedure(i_remove), public, deferred :: remove | |
procedure(i_sum), public, deferred :: sum |