Catch chooseWeighted on empty list
authorJoachim Breitner <mail@joachim-breitner.de>
Fri, 12 Jun 2009 12:57:09 +0000 (14:57 +0200)
committerJoachim Breitner <mail@joachim-breitner.de>
Fri, 12 Jun 2009 12:57:09 +0000 (14:57 +0200)
src/Lseed/LSystem.hs

index 50c675a..21b754f 100644 (file)
@@ -60,6 +60,7 @@ applyLSystem rgen rules plant = go plant
                -- Are all angles not too close to each other?
                 anglesOk = all (> minAngle) (zipWith (flip (-)) angles (tail angles))
 
+chooseWeighted _    []   = error "Can not choose from an empty list"
 chooseWeighted rgen list = replicated !! (c-1)
   where replicated = concatMap (\(w,e) -> replicate w e) list
         (c,_) = randomR (1, length replicated) rgen