pedrorrivero / qrand

A multiprotocol and multiplatform quantum random number generation framework
https://pypi.org/project/qrand/
Apache License 2.0
26 stars 14 forks source link

Upgrade Qrng from object to class wrapper #14

Closed pedrorrivero closed 3 years ago

pedrorrivero commented 3 years ago

Is your feature request related to a problem? Please describe.

Users need to go through several steps in order to instantiate a Qrng object:

  1. Instantiate a QuantumPlatform.
  2. Instantiate a QuantumProtocol.
  3. Instantiate a QuantumBitGenerator from the previous two objects.
  4. Instantiate a Qrng from the bit generator.

Describe the solution you'd like

By transforming Qrng from a QuantumBitGenerator object wrapper to a class wrapper (i.e. through inheritance), the user can disregard QuantumBitGenerator altogether (i.e. step 3) and jump straight to using Qrng. Furtheremore, Qrng will then also be able to interface with NumPy.

Describe alternatives you've considered

Build facades to simplify the four-step process described above.

Additional context