(probs)
| 3 | import random |
| 4 | |
| 5 | def sample(probs): |
| 6 | s = sum(probs) |
| 7 | probs = [a/s for a in probs] |
| 8 | r = random.uniform(0, 1) |
| 9 | for i in range(len(probs)): |
| 10 | r = r - probs[i] |
| 11 | if r <= 0: |
| 12 | return i |
| 13 | return len(probs)-1 |
| 14 | |
| 15 | def c_array(ctype, values): |
| 16 | arr = (ctype*len(values))() |