3.8.4. qupulse.utils.types¶
- class qupulse.utils.types.DocStringABCMeta(classname, bases, cls_dict)[source]¶
Bases:
abc.ABCMeta
Metaclass that copies/refers to docstrings of the super class.
- class qupulse.utils.types.HashableNumpyArray[source]¶
Bases:
numpy.ndarray
Make numpy arrays hashable.
Deprecated since 0.6. This is a bad idea.
Example usage: my_array = np.zeros([1, 2, 3, 4]) hashable = my_array.view(HashableNumpyArray)
- class qupulse.utils.types.SequenceProxy(inner)[source]¶
Bases:
collections.abc.Sequence
- class qupulse.utils.types.SingletonABCMeta(classname, bases, cls_dict)[source]¶
Bases:
qupulse.utils.types.DocStringABCMeta
Metaclass that enforces singletons
- class qupulse.utils.types.TimeType(value=0.0)[source]¶
Bases:
object
This type represents a rational number with arbitrary precision.
Internally it uses
gmpy2.mpq()
(if available) orfractions.Fraction
- property denominator¶
- classmethod from_float(value, absolute_error=None)[source]¶
Convert a floating point number to a TimeType using one of three modes depending on absolute_error.
The default str(value) guarantees that all floats have a different result with sensible rounding. This was chosen as default because it is the expected behaviour most of the time if the user defined the float from a literal in code.
- Parameters
value (
float
) – Floating point value to convert to arbitrary precision TimeTypeabsolute_error (
Optional
[float
]) –None
: Use str(value) as a proxy to get consistent precision0: Return the exact value of the float i.e. float(0.8) == 3602879701896397 / 4503599627370496
0 < absolute_error <= 1: Return the best approximation to value within `(value - absolute_error,
value + absolute_error)`. The best approximation is defined as the fraction with the smallest denominator.
- Raises
ValueError – If absolute_error is not None and not 0 <= absolute_error <= 1
- Return type
- property numerator¶