fix: change the order or the inheritance to impose the correct __mro__

This commit is contained in:
MatteoRobbiati
2025-02-10 11:18:09 +01:00
parent a5f7d1fb14
commit 30c3bba23a
4 changed files with 11 additions and 7 deletions

View File

@@ -20,10 +20,16 @@ class QibotnBackend(ABC):
def set_precision(self, precision):
if precision != self.precision:
super().set_precision(precision)
self._setup_backend_specifics()
def set_device(self, device):
self.device = device
self._setup_backend_specifics()
def configure_tn_simulation(self, **config):
"""Configure the TN simulation that will be performed."""
pass
def _setup_backend_specifics(self):
"""Configure the backend specific according to the used package."""
pass

View File

@@ -8,7 +8,7 @@ from qibotn.backends.abstract import QibotnBackend
CUDA_TYPES = {}
class CuTensorNet(NumpyBackend, QibotnBackend): # pragma: no cover
class CuTensorNet(QibotnBackend, NumpyBackend): # pragma: no cover
# CI does not test for GPU
"""Creates CuQuantum backend for QiboTN."""

View File

@@ -15,7 +15,7 @@ from qibotn.result import TensorNetworkResult
@dataclass
class QMatchaTeaBackend(NumpyBackend, QibotnBackend):
class QMatchaTeaBackend(QibotnBackend, NumpyBackend):
def __init__(self):
super().__init__()
@@ -25,9 +25,7 @@ class QMatchaTeaBackend(NumpyBackend, QibotnBackend):
# Set default configurations
self.configure_tn_simulation()
# TODO: update this function whenever ``set_device`` and ``set_precision``
# are set (?)
self._setup_qmatchatea_backend()
self._setup_backend_specifics()
def configure_tn_simulation(
self,
@@ -52,7 +50,7 @@ class QMatchaTeaBackend(NumpyBackend, QibotnBackend):
)
self.ansatz = ansatz
def _setup_qmatchatea_backend(self):
def _setup_backend_specifics(self):
"""Configure qmatchatea QCBackend object."""
qmatchatea_device = (

View File

@@ -5,7 +5,7 @@ from qibo.result import QuantumState
from qibotn.backends.abstract import QibotnBackend
class QuimbBackend(NumpyBackend, QibotnBackend):
class QuimbBackend(QibotnBackend, NumpyBackend):
def __init__(self, runcard):
super().__init__()