Base Class for generic BitGenerators, which provide a stream
of random bits based on different algorithms. Must be overridden.
A seed to initialize the BitGenerator. If None, then fresh,
unpredictable entropy will be pulled from the OS. If an int or
array_like[ints] is passed, then it will be passed to
~`numpy.random.SeedSequence` to derive the initial BitGenerator state.
One may also pass in a SeedSequence instance.
Lock instance that is shared so that the same BitGenerator can
be used in multiple Generators without corrupting the state. Code that
generates values from a bit generator should hold the bit generator’s
Return randoms as generated by the underlying BitGenerator