Show More
@@ -203,6 +203,14 b' class baseset(abstractsmartset):' | |||||
203 | [[7, 6, 4, 0, 3, 5], [7, 6], [4, 0]] |
|
203 | [[7, 6, 4, 0, 3, 5], [7, 6], [4, 0]] | |
204 | >>> [type(i).__name__ for i in [xs + ys, xs & ys, xs - ys]] |
|
204 | >>> [type(i).__name__ for i in [xs + ys, xs & ys, xs - ys]] | |
205 | ['addset', 'baseset', 'baseset'] |
|
205 | ['addset', 'baseset', 'baseset'] | |
|
206 | ||||
|
207 | istopo is preserved across set operations | |||
|
208 | >>> xs = baseset(set(x), istopo=True) | |||
|
209 | >>> rs = xs & ys | |||
|
210 | >>> type(rs).__name__ | |||
|
211 | 'baseset' | |||
|
212 | >>> rs._istopo | |||
|
213 | True | |||
206 | """ |
|
214 | """ | |
207 | def __init__(self, data=(), datarepr=None, istopo=False): |
|
215 | def __init__(self, data=(), datarepr=None, istopo=False): | |
208 | """ |
|
216 | """ | |
@@ -326,7 +334,8 b' class baseset(abstractsmartset):' | |||||
326 | # try to use native set operations as fast paths |
|
334 | # try to use native set operations as fast paths | |
327 | if (type(other) is baseset and '_set' in other.__dict__ and '_set' in |
|
335 | if (type(other) is baseset and '_set' in other.__dict__ and '_set' in | |
328 | self.__dict__ and self._ascending is not None): |
|
336 | self.__dict__ and self._ascending is not None): | |
329 |
s = baseset(data=getattr(self._set, op)(other._set) |
|
337 | s = baseset(data=getattr(self._set, op)(other._set), | |
|
338 | istopo=self._istopo) | |||
330 | s._ascending = self._ascending |
|
339 | s._ascending = self._ascending | |
331 | else: |
|
340 | else: | |
332 | s = getattr(super(baseset, self), op)(other) |
|
341 | s = getattr(super(baseset, self), op)(other) |
General Comments 0
You need to be logged in to leave comments.
Login now