summaryrefslogtreecommitdiff
path: root/src/runtime
diff options
context:
space:
mode:
authorhallgren <hallgren@chalmers.se>2013-01-29 13:59:20 +0000
committerhallgren <hallgren@chalmers.se>2013-01-29 13:59:20 +0000
commit211cd9bb25c7928b94976a9b8bb1124a0578b59e (patch)
treef7f6ba73aa9998f2c986a74143f1c00e6c82d4bc /src/runtime
parent84fa796de4e9b5443a2857eae0878bf26c605cc0 (diff)
Avoid crash in random generation with probabilities
Diffstat (limited to 'src/runtime')
-rw-r--r--src/runtime/haskell/PGF/Generate.hs2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/runtime/haskell/PGF/Generate.hs b/src/runtime/haskell/PGF/Generate.hs
index 33021066e..ae6abc938 100644
--- a/src/runtime/haskell/PGF/Generate.hs
+++ b/src/runtime/haskell/PGF/Generate.hs
@@ -169,6 +169,6 @@ instance RandomGen g => Selector (Identity g) where
hit :: Double -> [(Double,Expr,TType)] -> (Double,(Expr,TType),[(Double,Expr,TType)])
hit d (gen@(p,e,ty):gens)
- | d < p = (p,(e,ty),gens)
+ | d < p || null gens = (p,(e,ty),gens)
| otherwise = let (p',e_ty',gens') = hit (d-p) gens
in (p',e_ty',gen:gens')