1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/// Creates a [`Raw`] struct by first allocating a `Vec` and passing it to `Raw::new`.
///
/// If you need to pass an iterator, use `Raw::new` method.
///
/// [`Raw`]: distributions/struct.Raw.html
///
/// # Examples
///
/// With help of the `raw_dist` macro, we construct a random variable that samples always a fixed value.
/// ```
/// # use markovian::prelude::*;
/// # use rand::prelude::*;
/// # #[macro_use] extern crate markovian;
/// # fn main() {
/// let value = 0;
/// let dis: Raw<_> = raw_dist![(1.0, value)];
///
/// assert_eq!(value, dis.sample(&mut thread_rng()));
/// }
/// ```