diff --git a/pulse_lib/segments/segment_base.py b/pulse_lib/segments/segment_base.py index 7a1e16ca387c9a94cece47ec55531089b63baf5a..e4e373f3e288f560b2a9ad8508660736b2943096 100644 --- a/pulse_lib/segments/segment_base.py +++ b/pulse_lib/segments/segment_base.py @@ -111,9 +111,26 @@ class segment_base(): return new_segment + def __iadd__(self, other): + ''' + define addition operator for segment_single + ''' + if isinstance(other, segment_base): + self.data = self.data + other.data + + elif type(other) == int or type(other) == float: + self.data += other + else: + raise TypeError("Please add up segment_single type or a number ") + + return self + def __sub__(self, other): return self.__add__(other*-1) + def __isub__(self, other): + return self.__iadd__(other*-1) + def __mul__(self, other): ''' muliplication operator for segment_single