All notable changes to this project will be documented in this file.
The format follows the recommendations of Keep a Changelog, and adapts the markup language to use reStructuredText.
This projects adheres to Semantic Versioning.
1.0 -- 2019-02-20
ProcSet.iter_slice
, a constant memory iterator with slice semantic
1.0rc1 -- 2019-02-14
- Changelog
- support of slices for
ProcSet.__getitem__
- documentation is managed with sphinx, and published on Read the Docs
1.0rc0 -- 2019-02-07
- [issue #3, MR !2] full support of set operations for
ProcSet
: - operand methods (
|
,&
,-
,^
,|=
,&=
,-=
,^=
) support set operation (immutable and in-place) withProcSet
objects only - plain-text methods (
.union(…)
,.intersection(…)
,.difference(…)
,.symmetric_difference(…)
,.update(…)
,.intersection_update(…)
,.difference_update(…)
,.symmetric_difference_update(…)
) support set operations (both immutable and in-place) with any list of arguments that is a valid list of arguments forProcSet
initialization..symmetric_difference(…)
and.symmetric_difference_update(…)
support a single argument only.
- operand methods (
- [issue #3, MR !2] full support of set operations for
- full support of set comparison methods for
ProcSet
: - operand methods (
<=
,<
,>=
,>
) support comparisons withProcSet
objects only - plain-text methods (
.isdisjoint(…)
,.issubset(…)
,.issuperset(…)
) support comparison with any list of arguments that is a valid list of arguments forProcSet
initialization
- operand methods (
- full support of set comparison methods for
- support of index-based access with integers for
ProcSet
(e.g.,self[a]
), slice objects (e.g.,self[a:b:c]
) are not supported yet - in-place emptying of a
ProcSet
(.clear()
) .discard(…)
as an alias for.difference_update(…)
- cleaned public imports of modules
procset
andintsetwrap
ProcInt
supports construction without specifyingsup
:ProcInt(0)
is the same asProcInt(inf=0, sup=0)
ProcSet
supportsProcSet
objects for its initializationProcSet.isdisjoint(…)
is more permissive with theother
argument, see the description of added featuresProcSet.insert(…)
is now an alias for.update(…)
: it is more permissive with its arguments, see the description of added features
0.4 -- 2018-02-15
- implement
.isdisjoint(…)
forProcSet
0.3 -- 2018-02-05
ProcSet
:- [issue #7] rename
.add(…)
into.insert(…)
- optimize performances of
.__deepcopy__(…)
- [issue #7] rename
0.2 -- 2018-01-31
- [issue #2] support shallow and deep copy for both
ProcInt
andProcSet
(seecopy.copy
andcopy.deepcopy
) - [issue #6] support
repr
forProcSet
0.1.dev5 -- 2017-09-13
- fix license metadata of package
- [issue #5] packaging of
intsetwrap
module
0.1.dev4 -- 2017-09-11
Convenience release, nothing to report.
0.1.dev3 -- 2017-09-11
- the project is now licensed under LGPLv3
0.1.dev2 -- 2017-09-06
- [issue #4] basic support of in-place set-like operations for
ProcSet
:|=
,&=
,-=
,^=
.iscontiguous()
now returnsTrue
for an emptyProcSet
0.1.dev1 -- 2017-03-28
ProcSet
:- membership testing (a.k.a.,
in
) - iteration over the processors, in decreasing order (a.k.a.
reversed(…)
) .min
,.max
, attributes for fast access to the extremal processors.intervals()
, a method to iterate over the contiguous ranges of aProcSet
- membership testing (a.k.a.,
ProcInt
, a compact representation of a contiguous processor intervalProcSet
, a compact representation of processor intervals:- parsing from (
.from_str(…)
) / dumping to (str(…)
) a string representation (e.g.,'0-3 8-15'
) - equality testing (
==
) - contiguity testing (
.iscontiguous()
) - number of processors (
len(…)
) - number of contiguous ranges (
.count()
) - iteration over the processors in increasing order (a.k.a.
iter(…)
) - convex hull (
.aggregate()
) - in-place insertion of processors (
.add(…)
) - basic support of immutable set-like operations (returning the resulting
ProcSet
as a new object):|
,&
,-
,^
- parsing from (
intsetwrap
provides a drop-in replacement module forinterval_set
: it is guaranteed to stay until the first minor release of the stable API (i.e., forprocset<=1.0
)