Refactor custom copy behavior of MultiIndexSet instances.
The custom dunder method __copy__()
is removed as the desired behavior is already covered by the default behavior of copy.copy()
on a compound object; the exponents property which is mutable is the only one that is copied by reference.
All other properties are immutable.
The custom dunder method __deepcopy__()
is kept and modified to use the copy method from numpy.ndarray as the preferred method for deepcopying the exponents.
This MR should resolve Issue #106 (closed).
Additionally, the test suite of MultiIndexSet
is extended to include the expected behaviors from copying (resp. deepcopying) MultiIndexSet
instances.