Generates random binary values.
operator() method returns the next random value in the sequence. It takes one
parameter, the probability of drawing
The constructor takes and stores a reference to a
dip::Random object, which is used
to produce the randomness. That object needs to exist for as long as this one exists.