On Sun, Jun 20, 2021, at 20:46, Gagandeep Singh wrote: > I have recently joined the mailing list and have gone through the previous > discussions on this thread. I would like to share my analysis (advantages and > disadvantages) of three possible alternatives (Enum, String, boolean) to > support the proposed feature.
Thanks for this thorough analysis, Gagandeep! I'll throw one more heretical idea out there: `np.copy.IF_NEEDED`, `np.copy.ALWAYS`, `np.copy.NEVER`. This has the advantages of the enum, doesn't pollute the global namespace, and has an intuitive name. `np.array(x, copy=np.copy.ALWAYS)` It would be slightly more awkward to type, but is doable. A rough Python version sketch would be: class CopyFlag(enum.Enum): IF_NEEDED = 0 ALWAYS = 1 NEVER = 2 class NpCopy: IF_NEEDED : CopyFlag = CopyFlag.IF_NEEDED ALWAYS : CopyFlag = CopyFlag.ALWAYS NEVER : CopyFlag = CopyFlag.NEVER def __call__(self, x): return ...whatever copy returns... np.copy = NpCopy() Stéfan _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@python.org https://mail.python.org/mailman/listinfo/numpy-discussion