Ejemplo n.º 1
0
 def __setitem__(self, key, value):
     if self.isID(key):
         if key in self.ID2artist:
             self.ID2artist[key].append(value)
         else:
             self.ID2artist[key] = [value]
         self.artist2ID[value] = key
         if isinteger(key) and key >= self.nowID:
             self.nowID = key + 1
     else:
         self.__setitem__(value, key)
Ejemplo n.º 2
0
 def __setitem__(self, key, value):
     if self.isID(key):
         if key in self.ID2artist:
             self.ID2artist[key].append(value)
         else:
             self.ID2artist[key] = [value]
         self.artist2ID[value] = key
         if isinteger(key) and key >= self.nowID:
             self.nowID = key + 1
     else:
         self.__setitem__(value, key)
Ejemplo n.º 3
0
def intersection(a, b):
    """calculate the length of 2 lines' intersection.
    a, b: (beg, end) tuple of two lines; or two arrays.
    returns: intersection length of the two lines.
    e.g., intersection( (3, 6), (4, 8) ) -> 2, which is 4 ~ 6.
    """
    ab = np.r_[a, b]
    res = np.abs(a[-1] - a[0]) + np.abs(b[-1] - b[0]) - (np.max(ab) - np.min(ab))
    if isinstance(res, timedelta):
        zerotd = timedelta(seconds=0)
        if res < zerotd:
            res = zerotd
    elif isinteger(res):
        if res < 0:
            res = 0
    else:
        if res < 0.0:
            res = 0.0
    return res
Ejemplo n.º 4
0
def intersection(a, b):
    """calculate the length of 2 lines' intersection.
    a, b: (beg, end) tuple of two lines; or two arrays.
    returns: intersection length of the two lines.
    e.g., intersection( (3, 6), (4, 8) ) -> 2, which is 4 ~ 6.
    """
    ab = np.r_[a, b]
    res = np.abs(a[-1] - a[0]) + np.abs(b[-1] - b[0]) - (np.max(ab) -
                                                         np.min(ab))
    if isinstance(res, timedelta):
        zerotd = timedelta(seconds=0)
        if res < zerotd:
            res = zerotd
    elif isinteger(res):
        if res < 0:
            res = 0
    else:
        if res < 0.0:
            res = 0.0
    return res
Ejemplo n.º 5
0
 def __getitem__(self, key):
     if isinteger(key):
         return self._plotter_list[key]
     else:
         return Null