Skip to content

Commit d762797

Browse files
committed
RDP repr, eq
1 parent caadef8 commit d762797

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

qupulse/program/linspace.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,8 @@ def __init__(self,
9191
multiplicities: Tuple[int],
9292
offset: NumVal):
9393

94-
self.bases = bases
95-
self.multiplicities = multiplicities
94+
self.bases = tuple(bases)
95+
self.multiplicities = tuple(multiplicities)
9696
self.offset = offset
9797
self.__is_time_or_int = all(isinstance(b,(TimeType,int_type)) for b in bases) and isinstance(offset,(TimeType,int_type))
9898

@@ -142,7 +142,15 @@ def __float__(self):
142142

143143
def __str__(self):
144144
return f"RDP of {sum(b*m for b,m in zip(self.bases,self.multiplicities)) + self.offset}"
145-
145+
146+
def __repr__(self):
147+
return "RDP("+",".join([f"{k}="+v.__str__() for k,v in vars(self).items()])+")"
148+
149+
def __eq__(self,o):
150+
if not isinstance(o,ResolutionDependentValue):
151+
return False
152+
return self.__dict__ == o.__dict__
153+
146154

147155
@dataclass(frozen=True)
148156
class DepKey:
@@ -800,7 +808,7 @@ def build_nested_wf_colls(remaining_ranges: List[Tuple], fixed_elements: List[Tu
800808
def to_program(self) -> Optional[Sequence[LinSpaceNode]]:
801809
assert not self._meas_queue
802810
if self._root():
803-
return [LinSpaceTopLevel(self._root())]
811+
return [LinSpaceTopLevel(body=tuple(self._root())),]
804812

805813

806814
def collect_scaling_and_offset_per_channel(channels: Sequence[ChannelID],

0 commit comments

Comments
 (0)