Skip to content

Commit 4922d71

Browse files
committed
correct hash function
1 parent b1c55b4 commit 4922d71

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

Diff for: qupulse/program/linspace.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -911,7 +911,7 @@ class Increment:
911911
key: DepKey
912912

913913
def __hash__(self):
914-
return hash((self.channel,self.value,self.key))
914+
return hash((type(self),self.channel,self.value,self.key))
915915

916916
def __str__(self):
917917
return "Increment("+",".join([f"{k}="+v.__str__() for k,v in vars(self).items()])+")"
@@ -923,7 +923,7 @@ class Set:
923923
key: DepKey = dataclasses.field(default_factory=lambda: DepKey((),DepDomain.NODEP))
924924

925925
def __hash__(self):
926-
return hash((self.channel,self.value,self.key))
926+
return hash((type(self),self.channel,self.value,self.key))
927927

928928
def __str__(self):
929929
return "Set("+",".join([f"{k}="+v.__str__() for k,v in vars(self).items()])+")"
@@ -934,7 +934,7 @@ class Wait:
934934
key_by_domain: Dict[DepDomain,DepKey] = dataclasses.field(default_factory=lambda: {})
935935

936936
def __hash__(self):
937-
return hash((self.duration,frozenset(self.key_by_domain.items())))
937+
return hash((type(self),self.duration,frozenset(self.key_by_domain.items())))
938938

939939
@dataclass
940940
class LoopJmp:
@@ -954,7 +954,7 @@ def __post_init__(self):
954954
self.keys_by_domain_by_ch = {ch: {} for ch in self.play_channels+self.step_channels}
955955

956956
def __hash__(self):
957-
return hash((self.waveform,self.play_channels,self.step_channels,
957+
return hash((type(self),self.waveform,self.play_channels,self.step_channels,
958958
frozenset((k,frozenset(d.items())) for k,d in self.keys_by_domain_by_ch.items())))
959959

960960

0 commit comments

Comments
 (0)