| 27 | |
| 28 | |
| 29 | def main(smoke=False, show=True): |
| 30 | size = 20 if smoke else 100 |
| 31 | sample_count = 300 if smoke else 10000 |
| 32 | alias_result, truth = simulate(size=size, sample_count=sample_count) |
| 33 | |
| 34 | assert np.isclose(alias_result.sum(), 1.0) |
| 35 | assert np.isclose(truth.sum(), 1.0) |
| 36 | |
| 37 | if show: |
| 38 | plt.bar(list(range(len(alias_result))), alias_result, label="alias_result") |
| 39 | plt.bar(list(range(len(truth))), truth, label="truth") |
| 40 | plt.legend() |
| 41 | plt.show() |
| 42 | |
| 43 | return alias_result, truth |
| 44 | |
| 45 | |
| 46 | if __name__ == "__main__": |