From e7b6b845ddc2e914efb1867d36472f44404f33ae Mon Sep 17 00:00:00 2001 From: webbrain-one <295484252+webbrain-one@users.noreply.github.com> Date: Wed, 12 Aug 2026 13:02:26 +0300 Subject: [PATCH] Validate probability distribution sums to 1 Add a check during initialization to ensure the distribution sums to 1. This prevents undefined behavior when the sampler is initialized with an invalid probability distribution. Closes #7 --- vose_sampler/vose_sampler.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/vose_sampler/vose_sampler.py b/vose_sampler/vose_sampler.py index 543814c..2be7d49 100644 --- a/vose_sampler/vose_sampler.py +++ b/vose_sampler/vose_sampler.py @@ -22,6 +22,8 @@ class VoseAlias(object): def __init__(self, dist, rng=None): """ (VoseAlias, dict[, RNG]) -> NoneType """ + if sum(dist.values()) != 1: + raise ValueError("Probability distribution must sum to 1.") self.dist = dist self.rng = rng or random.Random() self.alias_initialisation()