constrained_sample_1D_nI Subroutine

private subroutine constrained_sample_1D_nI(this, i, contain, renorm, pos, tgt, prob)

Draw a random element from 1:size(this%probs) with the probabilities listed in prob while adherring to constraints

Type Bound



Type IntentOptional Attributes Name
class(AliasSampler_1D_t), intent(in) :: this
integer, intent(in) :: i

The index of the sampler.

integer, intent(in) :: contain(:)

The constraint in nI format.

real(kind=dp), intent(in) :: renorm

The renormalization. (i.e. sum(this%get_prob(… contain…))

integer, intent(out) :: pos

The sampled value tgt and its position pos in `contain.

integer, intent(out) :: tgt

The sampled value tgt and its position pos in `contain.

real(kind=dp), intent(out) :: prob

The probability of sampling tgt from contain